我想做一个简单的 TCP 客户端。但我遇到了一个错误。当我制作时 inputStream = (NSInputStream *)readStream;
,outputStream = (NSOutputStream *)writeStream;
它建议我引入前缀 __bridge 或_bridge _transfer。
首先,它是什么?其次,我都试过了,仍然无法发送消息。我按照本教程进行了操作,并且也发送了消息和流。我安装了 Wireshark 并调用了发送消息,但它没有向 IP 发送任何数据包。
我刚刚在这里发布了 initNetworkCommunication,因为这是我得到“桥”错误的地方。
- (void) initNetworkCommunication {
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"54.xxx.xxx.xxx", 1333, &readStream, &writeStream);
inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
}
服务器很好,因为我已经尝试了示例代码并且得到了响应。
你能帮助我吗?