1

TCP経由でサーバーに接続し、受信データを継続的にリッスンするサービスが必要です。次の方法で使用している CocoaAsyncSocket を使用しています

self.socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
NSError *err = nil;
if (![self.socket connectToHost:@"..." onPort:... error:&err]) {
    return;
}

[self.socket readDataWithTimeout:-1 tag:1];

次に、読み取りデリゲート メソッドで:

- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag {
    NSLog(@"%@", data);
    [self.socket readDataWithTimeout:-1 tag:1];
}

readDataWithTimout:tag:すぐにもう一度電話するというのは正しいですか?または、着信メッセージを常に聞く (より良い) 方法はありますか?

4

1 に答える 1