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");
......
第三に、ここで私は私を啓発する助けてください2つのピア
receivedStream = new NetStream(netConnection, farId);
receivedStream.client = this;
receivedStream.addEventListener(NetStatusEvent.NET_STATUS, incomingStreamHandler);
receivedStream.play("file");
との間の接続を構築する方法です。ありがとう!