asyncudpsockets какао не отправлять bytestream - PullRequest
2 голосов
/ 08 сентября 2011

У меня есть небольшое приложение MAC OS X, которое должно отправлять UDP-дейтаграмму на сервер.

Я хочу использовать asyncudpsockets какао (http://code.google.com/p/cocoaasyncsocket/) для этого, но у меня проблема в том, что я вызываю метод "sendData", но ничего не происходит.

[socket sendData:[NSData dataWithBytes:stream length:length] 
          toHost:host 
            port:(uint16)port 
     withTimeout:5 
             tag:1];

stream is Byte * содержит датаграмму host и является ip-адресом как NSString.

Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 27 октября 2011

Правильно ли вы установили делегата?

[socket setDelegate:self];

Тогда:

[socket connectToHost:(NSString *)host
               onPort:(UInt16)port
          withTimeout:(NSTimeInterval)timeout
                error:(NSError **)errPtr];

Затем в методе делегата:

- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port
{
    [sock writeData:[NSData dataWithBytes:stream length:length] withTimeout:TIMEOUT_NONE tag:TAG_HEADER];
}

Надеюсь, это поможет; -)

...