Я пытался написать простой клиент UDP, который может отправлять и получать данные, и я хочу, чтобы делегат был назначен другому объекту, кроме себя.Настройка делегирования другому объекту в Cocoaasyncsocket
Я могу отправлять данные, но не могу получить обратно с сервера. Сервер работает нормально.
Мой код, как показано ниже:
//ViewController.m
- (void)setupSocket
{
UDPReveiver * udp = [[UDPReveiver alloc] init];
udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:udp delegateQueue:dispatch_get_main_queue()];
NSError *error = nil;
if (![udpSocket bindToPort:5528 error:&error])
{
NSLog(@"Error binding: %@", error);
return;
}
if (![udpSocket beginReceiving:&error])
{
NSLog(@"Error receiving: %@", error);
return;
}
NSLog(@"Socket Created :)");
}
//UDPReceiver.h
@interface UDPReveiver : NSObject <GCDAsyncUdpSocketDelegate>
//UDPReceiver.m
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data
fromAddress:(NSData *)address
withFilterContext:(id)filterContext
{
NSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Hey");
if (msg)
{
NSLog(@"Data received is :%@",msg);
}
}
Пожалуйста, дайте мне знать, что я пропускаю.
Спасибо, danh отлично работает сейчас. –