gpt4 book ai didi

iphone - NSInputStream 的例子?

转载 作者:行者123 更新时间:2023-12-03 21:06:12 25 4
gpt4 key购买 nike

我正在尝试创建一个简单的iPhone应用程序,它可以与服务器通信(目前正在我的计算机上运行并且工作正常)。我一直在尝试使用 NSStream 类,但遇到了很多问题。我真的只是想使用流来模拟 telnet 类型的连接。我已设法使用 NSOutputStream 将数据发送到服务器,但我不知道如何使用 NSInputStream 读取从服务器发送的回复。这是我到目前为止的方法:

    -(void)sendName:(NSString *)name{
NSData*nameData = [name dataUsingEncoding:NSUTF8StringEncoding];
[outputStream write:(uint8_t *)[nameData bytes] maxLength:[nameData length]];

//The server sends a reply here.
[inputStream read:? maxLength:?]; // I don't know what do to here.


[inputStream close]; //Created and opened elsewhere.
[outputStream close]; //Created and opened elsewhere.
}

我不知道如何让 inputStream 读取服务器发送的内容。我尝试过将 NSData 对象作为缓冲区传递,但它总是崩溃。那么如何创建缓冲区呢?另外,将长度设置得很大以确保缓冲区不会填满(尽管可能会浪费空间)是否不好?一些示例代码会很棒!提前致谢!

最佳答案

关于 NSStreams,您需要了解的是“不要调用我们,我们会调用您”。当流有可用数据时,它将通知其委托(delegate),然后您读取可用的任何数据并告诉它去获取更多数据。

阅读Streams Programming Guide

关于iphone - NSInputStream 的例子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6804400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com