1. rtmfp协议端口设置要19350以上。
2.fms一段时间没有连接,默认20分钟会自动unload应用。解决办法:
(1).一直保持一个连接,注册一个用户一直登陆不下线。
(2).把main.asc文件的application.allowdebug属性设置为true,然后点击fms控制台的shareObject那里保持一个连接。
(3).在main.asc的onAppStart中加入以下
application.onAppStart = function()
{
nc = new NetConnection();
nc.connect("rtmp://localhost/multicast");
}
3.关于nc,和netstream的nearID,nearNonce,farID,farNonce
用户1:
nc | receiveStream | sendStream | peerStream | |
---|---|---|---|---|
neerID | f8aa | |||
neerNonce | 6b23 | 2d50 | 2d50 | |
farID | d656 | 582a | 582a | |
farNonce | c002 | 9883 | 9883 |
用户2:
nc | receiveStream | sendStream | peerStream | |
---|---|---|---|---|
neerID | 582a | |||
neerNonce | fdbb | 9883 |
9883
| |
farID | d656 | f8aa | f8aa | |
farNonce | 7ece | 2d50 | 2d50 |
总结: nc.farID不变,好像是fms服务器的id, sendStream的peerStream的farID与对方的nc.neerID相等。
由此可以判断,用户1存在发送流的时候,用户2是否有接收流.补充说明:
建立一个流,一个真正进行交互的流,一个DIRECT_CONNECTIONS类型的 NetStream,来发布自己的身份,同时也可以作为以后交互的时候的消息sender,并同时需要做OnPeerConnect侦听,在其它 NetStream订阅该流时触发,同时该流的farID等同于NetConnectiont的nearID。
触发NetStream.onPeerConnect了后,订阅流才真正连接到了发布流然后才触发发布方的NetStream.Connect.Success。。onPeerConnect只是订阅方尝试连接发布方的时候才触发
触发NetStream.onPeerConnect了后,订阅流才真正连接到了发布流然后才触发发布方的NetStream.Connect.Success。。onPeerConnect只是订阅方尝试连接发布方的时候才触发