1
我正在使用Adobe Stratus(現在更名爲Cirrus)來構建一個p2p應用程序。在應用程序內部,我使用了NetStream.onPeerConnect回調函數,並且期望每次連接對等點時都會觸發它。然而,它與我的朋友A總是失敗,而奇怪的朋友B設法讓這個功能沒有任何問題。是什麼阻止NetStream.onPeerConnect被觸發?
我想知道這個問題可能是什麼原因?
下面是代碼段的樣子。
首先,創建一個NetConnection。
netConnection = new NetConnection();
netConnection.addEventListener(NetStatusEvent.NET_STATUS, netConnectionHandler);
netConnection.connect(SERVER_ADDRESS+DEVELOPER_KEY);
其次,在創建的NetConnection NetStream的成功連接。
private function netConnectionHandler(event:NetStatusEvent):void{
switch (event.info.code){
case "NetConnection.Connect.Success":
sendStream = new NetStream(netConnection, NetStream.DIRECT_CONNECTIONS);
sendStream.addEventListener(NetStatusEvent.NET_STATUS, netStreamHandler);
var sendObj:Object = new Object();
sendObj.onPeerConnect = function(subscriber:NetStream) : Boolean {
trace("[onPeerConnect] far id: " + subscriber.farID);
return true;
}
sendStream.client = sendObj;
sendStream.publish("file");
......
第三,這裏是我如何建立兩個對等
receivedStream = new NetStream(netConnection, farId);
receivedStream.client = this;
receivedStream.addEventListener(NetStatusEvent.NET_STATUS, incomingStreamHandler);
receivedStream.play("file");
請幫賜教之間的連接。謝謝!