我正在尝试使用 GCDAsyncSocket 在我的 Mac 和 iPhone 之间建立点对点连接。目前两个设备都在同一个wifi下连接。但是使用方法:
[asyncSocket connectToHost:@"my iPhone's IP address" onPort:80 error:&err]
不起作用。是不是因为我的错误操作?您能否解释一下在我的情况下如何建立点对点连接?
我正在尝试使用 GCDAsyncSocket 在我的 Mac 和 iPhone 之间建立点对点连接。目前两个设备都在同一个wifi下连接。但是使用方法:
[asyncSocket connectToHost:@"my iPhone's IP address" onPort:80 error:&err]
不起作用。是不是因为我的错误操作?您能否解释一下在我的情况下如何建立点对点连接?
我找到了一种方法来做到这一点。如果您使用的是 GCDAsyncSocket,则有一个名为 BonjourServer 和 BonjourClient 的演示。在其代码中,有一个委托方法:
- (void)socket:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)newSocket
{
DDLogInfo(@"Accepted new socket from %@:%hu", [newSocket connectedHost], [newSocket connectedPort]);
// The newSocket automatically inherits its delegate & delegateQueue from its parent.
[connectedSockets addObject:newSocket];
connectedSocket = newSocket;
}
当您在服务器和客户端之间建立点对点连接时,您可以按照上面指定的方法发送数据。