Maxim mbed development library
tools/host_tests/example/MulticastReceive.py@0:0e018d759a2a, 2016-11-08 (annotated)
- Committer:
- switches
- Date:
- Tue Nov 08 18:27:11 2016 +0000
- Revision:
- 0:0e018d759a2a
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
switches | 0:0e018d759a2a | 1 | """ |
switches | 0:0e018d759a2a | 2 | mbed SDK |
switches | 0:0e018d759a2a | 3 | Copyright (c) 2011-2013 ARM Limited |
switches | 0:0e018d759a2a | 4 | |
switches | 0:0e018d759a2a | 5 | Licensed under the Apache License, Version 2.0 (the "License"); |
switches | 0:0e018d759a2a | 6 | you may not use this file except in compliance with the License. |
switches | 0:0e018d759a2a | 7 | You may obtain a copy of the License at |
switches | 0:0e018d759a2a | 8 | |
switches | 0:0e018d759a2a | 9 | http://www.apache.org/licenses/LICENSE-2.0 |
switches | 0:0e018d759a2a | 10 | |
switches | 0:0e018d759a2a | 11 | Unless required by applicable law or agreed to in writing, software |
switches | 0:0e018d759a2a | 12 | distributed under the License is distributed on an "AS IS" BASIS, |
switches | 0:0e018d759a2a | 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
switches | 0:0e018d759a2a | 14 | See the License for the specific language governing permissions and |
switches | 0:0e018d759a2a | 15 | limitations under the License. |
switches | 0:0e018d759a2a | 16 | """ |
switches | 0:0e018d759a2a | 17 | import socket |
switches | 0:0e018d759a2a | 18 | import struct |
switches | 0:0e018d759a2a | 19 | |
switches | 0:0e018d759a2a | 20 | MCAST_GRP = '224.1.1.1' |
switches | 0:0e018d759a2a | 21 | MCAST_PORT = 5007 |
switches | 0:0e018d759a2a | 22 | |
switches | 0:0e018d759a2a | 23 | sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) |
switches | 0:0e018d759a2a | 24 | sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) |
switches | 0:0e018d759a2a | 25 | sock.bind(('', MCAST_PORT)) |
switches | 0:0e018d759a2a | 26 | mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY) |
switches | 0:0e018d759a2a | 27 | |
switches | 0:0e018d759a2a | 28 | sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq) |
switches | 0:0e018d759a2a | 29 | |
switches | 0:0e018d759a2a | 30 | while True: |
switches | 0:0e018d759a2a | 31 | print sock.recv(10240) |