erlang消息服务器组播,Erlang:在同一个端口上接收多个组播流

我的网络中有一个基于组播的IPTV。 所有通道都有类似239.0.1。*的多点传送地址。 流光设备发送UDP数据到目标端口1234 所以接收电视流我不平常的东西,如:Erlang:在同一个端口上接收多个组播流

{ok, S} = gen_udp:open(1234, ....

inet:setopts(S, [{add_membership, {{239,0,1,2}, {0,0,0,0}}}]),

它的工作原理。

现在我想订阅多个频道同时接收多个流。 所以我再打另一个电话:

inet:setopts(S, [{add_membership, {{239,0,1,3}, {0,0,0,0}}}]),

它也可以。我在Wireshark中看到两个流。我可以通过目标IP地址 - 239.0.1.2和239.0.1.3来区分它们。

但是。

在Erlang中我不能找出一个信道以接收数据包所属其中,使UDP数据到达作为消息:

{udp, Socket, IP, PortNo, Packet},

其中IP和PORTNO是源地址(10.33.33.32在我的情况)和端口(49152)。

所以问题是 - 如何确定传入组播UPD数据包的目标IP地址。

Windows 7,Erlang 5.9/OTP R15B。

谢谢!

2012-02-13

3DFace

+0

如果你在这里没有得到答案,你可以考虑在erlang问题上提出这个问题。 –

2012-02-13 13:09:31

+0

阅读此:http://stackoverflow.com/questions/1746257/how-to-send-multicast-messages-and-reuse-a-port-in-erlang –

2012-02-27 19:46:06

+0

里卡多,起初我想你发布链接到点我回答。但现在我想你想让我给你一个建议。不幸的是,我不能帮你。 –

2012-03-16 22:54:20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值