这是我的目标-c代码...我已经尝试了注释掉的代码,但没有运气。我只想把它连接起来。
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//get socket connecting...
NSError *err = nil;
uint16_t thePort = htons(1234);
// struct sockaddr_in ip;
// ip.sin_family = AF_INET;
// ip.sin_port = htons(thePort);
// inet_pton(AF_INET, "192.168.2.5", &ip.sin_addr);
//
// NSData* host = [NSData dataWithBytes:&ip length:ip.sin_len];
//
// if(![self.socket connectToAddress:host error:&err]) {
// NSLog(@"Failed to connect... %@", err);
// }
if(![self.socket connectToHost:@"192.168.2.5" onPort:thePort error:&err]) {
NSLog(@"Failed to connect %@", err);
}
// Do any additional setup after loading the view, typically from a nib.
}
当我跑步时,这就是我得到的......
2013-11-02 23:02:10.404 bonfire.alpha0.0[3892:70b] Failed to connect (null)
在服务器端,我使用了一个简单的echo-server实现(可以找到https://github.com/zappala/python-networking-and-threading/blob/master/echo-server/echoserver.py)。我知道客户端和服务器之间的物理连接(192.168.2.5)是好的,因为当我从客户端计算机运行echoclient.py时它工作正常。
答案 0 :(得分:0)
好的,我发现了这个错误,非常吵闹哈哈。我没有正确启动GCDAsyncSocket。这是启动它的正确代码。
self.socket = [[GCDAsyncSocket alloc] initWithDelegate:self.sDelegate delegateQueue:dispatch_get_main_queue()];