私はAdobeStratusサービスを使用してFlash10でのP2Pサポートを調べてきました。あるユーザーから別のユーザーにデータを正常に送信できました。問題は、データを簡単な方法で(または最初の呼び出しに対する何らかの応答として)返送する方法がわからないことです。
私が現在していること。
まず、Stratusサービスとの接続を設定します
nc = new NetConnection(); nc.addEventListener(NetStatusEvent.NET_STATUS, ncStatusHandler); nc.connect(APPLICATION_URL + DEVELOPER_KEY);
「サーバー」側では、次のことを行います。
sendStream = new NetStream(nc, NetStream.DIRECT_CONNECTIONS); sendStream.addEventListener(NetStatusEvent.NET_STATUS, sendStreamHandler); sendStream.publish("file");
そして「クライアント」側では:
// remoteFileID.text is manually copied by the user from the server (which is nc.nearID). recvStream = new NetStream(nc, remoteFileID.text); recvStream.client = this; recvStream.addEventListener(NetStatusEvent.NET_STATUS, recvStreamHandler); recvStream.play("file");
次に、クライアントでリモート関数を呼び出します。
... sendStream.send("aRemoteFunction", parameterData); ...
今私の問題; クライアントからサーバーまで同じことを行い、すべてがうまくいったか、何かが失敗したことを通知したいと思います。私が理解していることから、クライアントからサーバーへの新しいNetStreamをセットアップする必要があります(つまり、クライアントで公開してサーバーで再生します)。ただし、これを実現するには、サーバーがクライアント上のnc.nearIDを認識している必要があります。
ユーザーにクライアントからサーバーに手動でコピーさせることなく、そのIDを取得することは可能ですか?または、クライアントが私が行方不明になっているサーバーに話しかけるためのより簡単な方法はありますか?