1

我正在尝试使用 GCDAsyncSocket 在我的 Mac 和 iPhone 之间建立点对点连接。目前两个设备都在同一个wifi下连接。但是使用方法:

[asyncSocket connectToHost:@"my iPhone's IP address" onPort:80 error:&err]

不起作用。是不是因为我的错误操作?您能否解释一下在我的情况下如何建立点对点连接?

4

1 回答 1

0

我找到了一种方法来做到这一点。如果您使用的是 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;
}

当您在服务器和客户端之间建立点对点连接时,您可以按照上面指定的方法发送数据。

于 2012-07-02T10:10:02.207 回答