如何在 iOS 上使用 Objective-C 创建 TCP IP 服务器

How to create TCP IP Server using Objective-C on iOS

我已经成功地创建了一个 objective-c 的客户端,它可以连接到任何服务器,我的应用程序是 运行 在 iPad.. 到目前为止已经测试了客户端在不同的服务器上,telnet、nodejs,甚至是基于网络的 php 服务器,都可以正常工作。 但是我的范围已经改变,因为我需要我的应用程序充当服务器,而不是连接到给定的套接字,它应该首先打开一个套接字并等待客户端连接并在两者之间建立通信。

下面是我在 ipad 上的客户端如何连接到服务器的片段:

NSLog(@"Setting up connection to %@ : %i", _ipAddressText.text, [_portText.text intValue]);
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (__bridge CFStringRef) _ipAddressText.text, [_portText.text intValue], &readStream, &writeStream);

messages = [[NSMutableArray alloc] init];

[self open];

我已经尝试过 cocoaAsyncSocket,但是我无法解决它: https://github.com/robbiehanson/CocoaAsyncSocket

现在有更好的 CocoaAsyncSocket 原生替代品,即 Apple 的 Network Framework。

下面是使用 nw 函数的简单 TCP 客户端和服务器的一些不错的示例代码: https://developer.apple.com/documentation/network/implementing_netcat_with_network_framework