我在客户端应用程序和服务器应用程序之间打开两个 NSStreams 对(输入/输出),并且需要将这两个流关联到同一个服务器端对象上。双流方法意味着 didAcceptConnectionWithInputStream 将被调用两次,每次来自客户端的流打开命令。两个打开命令将按顺序执行,一个紧接着另一个。我尝试使用两个打开将一起完成以在服务器端配对它们的事实,但是如果两个不同的客户端尝试同时连接,则肯定存在竞争条件和流混淆问题。
如果有一个键/值对可以在连接到服务时发送,那将是完美的,并且我将发送客户端生成的 GUID 来识别客户端。
通过 IP 地址进行识别虽然是一种可能的解决方案,因为客户端将位于本地网络上(不必遍历 NAT),但使用 NSNetService 实现似乎很复杂。