Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 你好-如何获得IP地址以唯一标识连接到网络的每个客户端_Ios_Swift_Bonjour_Nsnetservice_Nsnetservicebrowser - Fatal编程技术网

Ios 你好-如何获得IP地址以唯一标识连接到网络的每个客户端

Ios 你好-如何获得IP地址以唯一标识连接到网络的每个客户端,ios,swift,bonjour,nsnetservice,nsnetservicebrowser,Ios,Swift,Bonjour,Nsnetservice,Nsnetservicebrowser,我不太精通网络,但我正在启动自己的“你好”服务,寻找附近的用户。我读到这封信,上面写着: 套接字表示网络上唯一的通信端点。什么时候 你的应用程序需要与另一个应用程序交换数据,它会创建一个套接字 并使用它连接到其他应用程序的套接字。你们两个都可以发送 并通过同一套接字接收数据。每个插座都有一个IP地址 地址和与其关联的端口号(介于1和65535之间)IP 地址唯一标识给定网络上的每台计算机和端口 编号唯一标识该计算机上的网络套接字 NetServiceBrowser有一个委托方法,可以发现附近的用

我不太精通网络,但我正在启动自己的“你好”服务,寻找附近的用户。我读到这封信,上面写着:

套接字表示网络上唯一的通信端点。什么时候 你的应用程序需要与另一个应用程序交换数据,它会创建一个套接字 并使用它连接到其他应用程序的套接字。你们两个都可以发送 并通过同一套接字接收数据。每个插座都有一个IP地址 地址和与其关联的端口号(介于1和65535之间)<强>IP 地址唯一标识给定网络上的每台计算机和端口 编号唯一标识该计算机上的网络套接字

NetServiceBrowser
有一个委托方法,可以发现附近的用户:

func netServiceBrowser(_ browser: NetServiceBrowser, didFind service: NetService, moreComing: Bool) {

    print(service.domain)
    print(service.name)
    print(service.type)
    print(service.addresses as Any)
    print(service.hostName as Any)
    print(service.port)
}
它还有一种方法,我需要使用它来让它们真正相互连接:

func netService(_ sender: NetService,
                didAcceptConnectionWith inputStream: InputStream,
                outputStream stream: OutputStream) {
    print("netServiceDidAcceptConnection:\(sender)");
}

一旦用户彼此连接并开始共享数据,我需要创建一个数组,其中包含唯一标识每个用户的内容。我想使用
设备的IP地址
,但我没有看到从
didFind
委托方法返回的IP地址我可以使用什么来唯一标识每个设备?

您可以从
服务获取IP地址。地址
请参阅@iUrii感谢链接!我会调查的。干杯