[英]iOS didAcceptNewSocket expected different port number
我正在使用AsyncSocket并在特定端口上侦听。 我正确地获得了一个具有新套接字的didAcceptNewSocket委托回调。 当我为新套接字调用local时,它具有与我的监听套接字相同的端口号。 我期望使用其他端口。
- (void)createListenSocket
{
NSError *error;
listenSocket = [[AsyncSocket alloc] initWithDelegate:self];
[listenSocket acceptOnPort:MY_PORT_NUMBER error:&error];
}
和
- (void)onSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket
{
NSLog(@"new connected socket: local port: %d, connected port: %d",
[newSocket localPort], [newSocket connectedPort]);
这将为本地端口打印MY_PORT_NUMBER的值。 为什么?
连接由两个IP地址和两个端口号定义。 如果该集合是唯一的,那么它是一个不同的连接,因此,如果两个远程设备连接到相同的本地IP地址和端口号,则这些远程设备是唯一的,这是完全有效的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.