2

iPhone でソケット処理をテストするための小さなアプリがあり、AsyncSocket/AsyncUdpSocket lib を使用しています。

ソケットを開いて送信するのは問題ありませんが、受信は問題です。

//Called when state is received
- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port
{
    NSLog(@"Incoming data");

    [sock receiveWithTimeout:-1 tag:0];
    return YES;
}

私が言ったように、私は何も取得しませんが、問題は、upd パッケージが完了したときにのみメソッドが呼び出されるかどうかです。パッケージはどのように終了する必要がありますか? ゼロバイト?

ありがとう

4

1 に答える 1

1

パケットを送信した後、受信メソッドを呼び出す必要があります (正のタイムアウトであると思います)。応答が受信されると、デリゲート メソッドが呼び出され、受信したデータを処理できます。

-ラリズ

于 2011-01-28T12:22:40.360 に答える