2010-11-19 9 views
3

私は、IPを指定することによって、2つのデバイス間で基本的なメッセージ・パージを実装しようとしています。 1つのデバイスが次のように聞くためにそのリスニングソケットを伝えたとき:リスニングCocoaASyncSocket on iPhoneは接続を受け取りますが、新しいソケットはデリゲートを呼び出さない

UInt16 port = 59647; 
NSError *err = nil; 
[socket acceptOnPort:port error:&err]; 

didAcceptNewSocketデリゲートが正しく呼び出され、接続IPに新しいソケットを返す必要があります:ポート。限り、私はそれをやっていることがわかりますが、新しいソケットはdidConnectToHostを呼び出す必要がありますが、私はそれがそうでないと言うことができます。

didConnectToHostが正しく実装されています。ソケットとの接続を開始するデバイスは、接続が確立された後に正しく呼び出します。

私は何もしていません。NSLogsを除いて古いリスニングソケットを設定しています(後で必要でなく、変更前に別の変数に割り当てられていないからそれは必要ですか?)

リスニング側で新しいソケットを作成すると、このデリゲートと呼ばれることはありませんか?

答えて

1

あなたは、クライアントとサーバーを扱っているので、ホスト(逆ではない)に接続するクライアントであるとしてのみ、クライアントはsocket:didConnectToHost:port:デリゲートメソッドを呼び出すことを認識することが重要です。

サーバーでは、最初の引数としてリスニングソケットを使用してsocket:didAcceptNewSocket:代理人メソッドが呼び出されます。

+0

私は実際にこれをして以来、年を重ねてきましたが、これは後天的な理由のある推論のようです。 – JKomusin

関連する問題