1

我需要在网页中的 flash 和本地网络中的空中应用程序之间建立连接。我需要自动发现客户端,所以我想使用“rtmfp”。

我可以通过使用来做到这一点:

_nc = new NetConnection();
...
_nc.connect("rtmfp:");
...
var groupSpec:GroupSpecifier = new GroupSpecifier("foo");
groupSpec.postingEnabled = true;
groupSpec.routingEnabled = true;
groupSpec.serverChannelEnabled = true;
groupSpec.objectReplicationEnabled = true;
groupSpec.multicastEnabled = true;
groupSpec.ipMulticastMemberUpdatesEnabled = true;
groupSpec.addIPMulticastAddress(multicastAddress);
//groupSpec.peerToPeerDisabled = true;
...

但是当我取消注释行groupSpec.peerToPeerDisabled = true ; 因为我需要避免“Peer Assited Networking”弹出窗口(这在我的项目中是强制性的),所以客户端不能互相发送消息......(我不介意 P2P,我想向所有客户端触发消息)

另一方面,事件 NetStatusCode.NETGROUP_CONNECT_SUCCESS 和 NetStatusCode.NETGROUP_CONNECT_SUCCESS 在所有情况下都被成功触发。

有没有人使用 NetConnection 和“rtmfp:”连接局域网中的多个客户端,但使用“groupSpec.peerToPeerDisabled = true”。

另一种选择是通过暴力搜索在一系列本地 ips 中侦听端口的客户端......但握手可能需要几分钟!

但是使用NetConnection 和“rtmfp:”客户端几乎可以立即发现彼此!!!!

提前致谢

4

0 回答 0