hello,
i have a truble in my adobe air application
some client in firewall when connect rtmfp://p2p.rtmfp.net it connect success and get peer ID ok
but cannot peer to peer netstream connection
//in code
incomingStream = new NetStream(netConnection, remoteid);
incomingStream.addEventListener(NetStatusEvent.NET_STATUS, incomingStreamHandler);
incomingStream.play("media-callee");
it takes serveral minutes and get "NetStream.Connect.Closed" returns
how can i figure it?
i think if firewall blocked outgoing UDP then rtmfp connect should be blocked.
but it connect rtmfp://p2p.rtmfp.net success and peer to peer netstream play can not success
sorry for poor english
thanks
some NAT and firewall configurations won't allow P2P communication even if UDP is allowed. much more detailed information about these kinds of cases can be found in this posting:
http://forums.adobe.com/message/1064983#1064983
most likely one of your peers is behind a symmetric NAT and the other is behind a symmetric or port/address-restricted cone NAT. as mentioned in that post, you can use http://cc.rtmfp.net as a diagnostic tool to help determine why your connection might not be working.
the top picture indicates a symmetric NAT (different translations for different far endpoints). the bottom picture indicates an address&port-restricted cone NAT. this combination will not be able to form a P2P connection.
if you can't make a direct P2P connection, you must use RTMP.
Not a solution, but maybe worth to mention: At least a reliable way to figure out if a stream is really working (sometimes it doesn't even if there is a NetStream.Play.Start event) is to let it play() and periodically check the byteCount of the NetStreamInfo object. It seems that this returns something around 270 for a surely working stream. Correct me if I'm wrong.
North America
Europe, Middle East and Africa
Asia Pacific