iOS アプリで GCDAsyncSocket を使用しようとしています。CocoaAsyncSocket の wiki で提供されているすべての手順に従っています。これが私がやっていることです:
GCDAsyncSocket socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
NSError *err = nil;
if (![socket connectToHost:@"192.168.0.129" onPort:2811 error:&err]) // Asynchronous!
{
// If there was an error, it's likely something like "already connected" or "no delegate set"
NSLog(@"I goofed: %@", err);
}
uint8_t buffer[2] = "1\n";
NSData *data = [NSData dataWithBytes: &buffer length: sizeof(buffer)];
[socket writeData:data withTimeout:10 tag:1];
私はすでにフレームワークの依存関係も含めました: Security & CFNetwork, そして私のクラスにそれぞれのデリゲートを含めました. それを使用するために他の構成が必要ですか?
この例を実行すると、次のエラーが発生します。
[ NSMallocBlockバイト]: 認識されないセレクターがインスタンス 0x6b7abe0 に送信されました 'NSInvalidArgumentException'、理由: '-[ NSMallocBlockバイト]: 認識されないセレクターがインスタンス 0x6b7abe0 に送信されました'
そして、それは GCDAsyncSocket.m のこの行で発生します
const uint8_t *buffer = (const uint8_t *)[currentWrite->buffer bytes] + currentWrite->bytesDone;