-1
我现在写使用NSStream TCP套接字。我可以打开流,但我不能写出任何东西(例如NSString或NSData)。帮助需要对目标C写的用NSStream TCP套接字
我现在写使用NSStream TCP套接字。我可以打开流,但我不能写出任何东西(例如NSString或NSData)。帮助需要对目标C写的用NSStream TCP套接字
在你-stream:handleEvent:
委托方法,当您收到NSStreamEventHasSpaceAvailable
事件为NSOutputStream
,您可以使用发送数据:
NSData *data = /* get some data… */;
const uint8_t *buffer = [data bytes];
NSUInteger length = [data length];
NSInteger nwritten = [outputStream write:buffer maxLength:length];
if (-1 == nwritten) {
NSLog(@"Error writing to stream %@: %@", outputStream, [outputStream streamError]);
} else {
NSLog(@"Wrote %ld bytes to stream %@.", (long)nwritten, outputStream);
}
嗨,我已经尝试过的代码,但我有错误“错误写入流<__ NSCFOutputStream:0x102009f0>:错误域= NSPOSIXErrorDomain代码= 9“该操作不能完成。错误的文件描述符”做任何人都知道这个问题呢? – tan 2010-10-19 04:31:06
这听起来像它不是由一个文件描述符的支持。你有没有打开流?你是想描述从委托回调写? – 2010-10-19 04:50:03
嗨,我已经使用了下面的代码打印出它返回流状态“2”,所以我猜流是开放的:\t的NSLog(@“OutputStream的状态:%I”,[OutputStream的流状态]); – tan 2010-10-19 05:26:10