summaryrefslogtreecommitdiffstats
path: root/Demo
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1992-09-24 10:33:40 (GMT)
committerGuido van Rossum <guido@python.org>1992-09-24 10:33:40 (GMT)
commit7814c10233cde1c85e6eaae4a9b623d00c471bdd (patch)
treebd8bf7fac8c0dd897c25680514e8e71c84fd66fa /Demo
parentc8833d4ad39557e870bc10fba3ea598f68dca1fd (diff)
downloadcpython-7814c10233cde1c85e6eaae4a9b623d00c471bdd.zip
cpython-7814c10233cde1c85e6eaae4a9b623d00c471bdd.tar.gz
cpython-7814c10233cde1c85e6eaae4a9b623d00c471bdd.tar.bz2
Better way of deducing mcast group bytes.
Diffstat (limited to 'Demo')
-rwxr-xr-xDemo/sockets/mcast.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/Demo/sockets/mcast.py b/Demo/sockets/mcast.py
index 5f16ed9..a6bee7c 100755
--- a/Demo/sockets/mcast.py
+++ b/Demo/sockets/mcast.py
@@ -6,14 +6,15 @@
# mcast (receivers)
MYPORT = 8123
-MYGROUP_BYTES = 225, 0, 0, 250
+MYGROUP = '225.0.0.250'
import sys
import time
import struct
+import regsub
from socket import *
from SOCKET import *
-from IN import *
+from IN import * # Local module, SGI specific!!!
sender = sys.argv[1:]
@@ -24,10 +25,7 @@ if sender:
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
mygroup = '<broadcast>'
else:
- # Ugly: construct decimal IP address string from MYGROUP_BYTES
- mygroup = ''
- for byte in MYGROUP_BYTES: mygroup = mygroup + '.' + `byte`
- mygroup = mygroup[1:]
+ mygroup = MYGROUP
ttl = struct.pack('b', 1) # Time-to-live
s.setsockopt(IPPROTO_IP, IP_MULTICAST_TTL, ttl)
while 1:
@@ -42,9 +40,10 @@ else:
# Allow multiple copies of this program on one machine
s.setsockopt(SOL_SOCKET, SO_REUSEPORT, 1) # (Not strictly needed)
- # Ugly: construct binary group address from MYGROUP_BYTES
+ # Ugly: construct binary group address from MYGROUP converted to bytes
+ bytes = eval(regsub.gsub('\.', ',', MYGROUP))
grpaddr = 0
- for byte in MYGROUP_BYTES: grpaddr = (grpaddr << 8) | byte
+ for byte in bytes: grpaddr = (grpaddr << 8) | byte
# Construct struct mreq from grpaddr and ifaddr
ifaddr = INADDR_ANY