【问题标题】:GCDAsyncSocket peer to peer connectionGCDAsyncSocket 点对点连接
【发布时间】:2023-03-13 01:50:01
【问题描述】:
我正在尝试使用 GCDAsyncSocket 在我的 Mac 和我的 iPhone 之间建立点对点连接。目前两个设备都在同一个wifi下连接。但是使用方法:
[asyncSocket connectToHost:@"my iPhone's IP address" onPort:80 error:&err]
不起作用。是不是因为我的错误操作?您能否解释一下在我的情况下如何建立点对点连接?
【问题讨论】:
标签:
ios
macos
wifi
asyncsocket
【解决方案1】:
我找到了一种方法来做到这一点。如果您使用的是 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;
}
当你在服务器和客户端之间建立点对点连接时,你可以按照上面指定的方法发送数据。