2017-10-25 7 views

答えて

2

あなたは

以下

https://github.com/robbiehanson/CocoaAsyncSocket

はコードの下

GCDAsyncUdpSocket *udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; 

    NSError *error = nil; 

    if (![udpSocket enableReusePort:YES error:&error]) 
    { 
     return; 
    } 

    if (![udpSocket bindToPort:8888 error:&error]) 
    { 
     return; 
    } 
    if (![udpSocket beginReceiving:&error]) 
    { 
     return; 
    } 

    error = nil; 
    if(![udpSocket enableBroadcast:YES error:&error]) 
    { 
    } 

    NSData *data = [@"DISCOVER_FUIFSERVER_REQUEST" dataUsingEncoding:NSUTF8StringEncoding]; 
    [udpSocket sendData:data toHost:@“255.255.255.255” port:8888 withTimeout:10 tag:100]; 

あるココア非同期ソケットを使用することができますすることで、応答

- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data 
     fromAddress:(NSData *)address 
withFilterContext:(id)filterContext 
{ 
    NSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

    NSString *msg1 = [NSString stringWithFormat:@"RECV: %@ FROM: %@", msg,[GCDAsyncUdpSocket hostFromAddress:address]]; 

    if([msg isEqualToString:@"DISCOVER_FUIFSERVER_RESPONSE"]) 
    { 
    } 
} 

を取得し、得た場合になるデリゲートメソッドでありますudpソケット接続中にエラーが発生しました。このデリゲートメソッドはb電子と呼ばれる

- (void)udpSocketDidClose:(GCDAsyncUdpSocket *)sock withError:(NSError *)error 
{ 
    if (error) { 
     NSString *msg = [NSString stringWithFormat:@"RECV: error: %@", [error localizedDescription]]; 
    } 
} 
+0

返信いただきありがとうございます。私のために働いた。 –

+0

ようこそ。お力になれて、嬉しいです –

関連する問題