【发布时间】:2011-07-24 01:22:06
【问题描述】:
我正在尝试创建一个可以与服务器通信的简单 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 对象作为缓冲区传递,但它总是崩溃。那么如何创建缓冲区呢?此外,为了确保缓冲区不会填满(尽管可能会浪费空间),使长度变大是不是很糟糕?一些示例代码会很棒!提前致谢!
【问题讨论】:
标签: iphone objective-c