Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
multicast-study
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
multicast-study
Commits
703a9bf0
Commit
703a9bf0
authored
Apr 28, 2022
by
Kirill Smelkov
Committed by
Léo-Paul Géneau
Apr 29, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
670fe84f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
5 deletions
+14
-5
namespace_demo/tmcast.py
namespace_demo/tmcast.py
+14
-5
No files found.
namespace_demo/tmcast.py
View file @
703a9bf0
...
...
@@ -8,6 +8,7 @@ import sys, time
from
socket
import
socket
,
AF_INET
,
SOCK_DGRAM
,
IPPROTO_UDP
,
SOL_SOCKET
,
\
SO_REUSEADDR
,
IPPROTO_IP
,
IP_ADD_MEMBERSHIP
,
IP_MULTICAST_TTL
,
IP_MULTICAST_LOOP
,
\
inet_aton
,
INADDR_ANY
import
socket
as
net
from
struct
import
pack
from
golang
import
b
,
u
...
...
@@ -37,11 +38,19 @@ def mjoin_rx(group, port):
sk
=
socket
(
AF_INET
,
SOCK_DGRAM
,
IPPROTO_UDP
)
sk
.
setsockopt
(
SOL_SOCKET
,
SO_REUSEADDR
,
1
)
sk
.
bind
((
group
,
port
))
# join the group (for rx)
mreq
=
pack
(
"4sl"
,
inet_aton
(
group
),
INADDR_ANY
)
sk
.
setsockopt
(
IPPROTO_IP
,
IP_ADD_MEMBERSHIP
,
mreq
)
#sk.bind((group, port))
sk
.
bind
((
''
,
port
))
# XXX and later IP_MULTICAST_ALL=0 ?
## join the group (for rx)
#mreq = pack("4sl", inet_aton(group), INADDR_ANY)
#sk.setsockopt(IPPROTO_IP, IP_ADD_MEMBERSHIP, mreq)
# join the group on all interfaces
for
ifidx
,
ifname
in
net
.
if_nameindex
():
print
(
"joining %s @ [%d]%s"
%
(
group
,
ifidx
,
ifname
))
mreq
=
pack
(
"4sii"
,
inet_aton
(
group
),
INADDR_ANY
,
ifidx
)
#print(repr(mreq), len(mreq))
sk
.
setsockopt
(
IPPROTO_IP
,
IP_ADD_MEMBERSHIP
,
mreq
)
return
sk
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment