Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c8833d4

Browse files
committed
Add -b option and sleep shorter.
1 parent 590177b commit c8833d4

1 file changed

Lines changed: 15 additions & 9 deletions

File tree

Demo/sockets/mcast.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# After /usr/people/4Dgifts/examples/network/mcast.c
33
# Usage:
44
# mcast -s (sender)
5+
# mcast -b (sender, using broadcast instead multicast)
56
# mcast (receivers)
67

78
MYPORT = 8123
@@ -14,21 +15,26 @@
1415
from SOCKET import *
1516
from IN import *
1617

17-
sender = (sys.argv[1:2] == ['-s'])
18+
sender = sys.argv[1:]
1819

1920
s = socket(AF_INET, SOCK_DGRAM)
2021

2122
if sender:
22-
# Ugly: construct decimal IP address string from MYGROUP_BYTES
23-
mygroup = ''
24-
for byte in MYGROUP_BYTES: mygroup = mygroup + '.' + `byte`
25-
mygroup = mygroup[1:]
26-
ttl = struct.pack('b', 1) # Time-to-live
27-
s.setsockopt(IPPROTO_IP, IP_MULTICAST_TTL, ttl)
23+
if sys.argv[1] == '-b':
24+
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
25+
mygroup = '<broadcast>'
26+
else:
27+
# Ugly: construct decimal IP address string from MYGROUP_BYTES
28+
mygroup = ''
29+
for byte in MYGROUP_BYTES: mygroup = mygroup + '.' + `byte`
30+
mygroup = mygroup[1:]
31+
ttl = struct.pack('b', 1) # Time-to-live
32+
s.setsockopt(IPPROTO_IP, IP_MULTICAST_TTL, ttl)
2833
while 1:
29-
data = `time.time()` + '\n'
34+
data = `time.time()`
35+
## data = data + (1400 - len(data)) * '\0'
3036
s.sendto(data, (mygroup, MYPORT))
31-
time.sleep(5)
37+
time.sleep(1)
3238
else:
3339
# Bind the socket to my port
3440
s.bind('', MYPORT)

0 commit comments

Comments
 (0)