我正在尝试通过指定IP来实现两个设备之间的基本消息。当一个设备告诉其侦听套接字按如下方式监听时:
UInt16 port = 59647;
NSError *err = nil;
[socket acceptOnPort:port error:&err];
正确调用didAcceptNewSocket
委托,并应将新套接字返回到连接IP:端口。然而,据我所知,它正在执行此操作,然后新套接字应该调用didConnectToHost
,据我所知,它不是。{/ p>
didConnectToHost
已正确实现,因为启动与其套接字连接的设备在建立连接后正确调用它。
除了didAcceptNewSocket
之外,我没有在NSLogs
中做任何事情,并将旧的侦听套接字设置为新的套接字(因为之后不需要,并且之前将其分配给不同的变量)没有改变任何东西,也不应该改变。)
什么可以让我的新套接字在听取方面不叫这个代表?
答案 0 :(得分:1)
由于您正在处理客户端和服务器,因此必须意识到只有客户端才会调用socket:didConnectToHost:port:
委托方法,因为它是连接到主机的客户端(不是相反)
在服务器上,调用socket:didAcceptNewSocket:
委托方法,并将侦听套接字作为第一个参数。