Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在objective c中使用NSStream编写TCP套接字时需要帮助_Iphone_Objective C - Fatal编程技术网

Iphone 在objective c中使用NSStream编写TCP套接字时需要帮助

Iphone 在objective c中使用NSStream编写TCP套接字时需要帮助,iphone,objective-c,Iphone,Objective C,我正在使用NSStream编写TCP套接字。我可以打开流,但无法写出任何内容(例如NSString或NSData)。在您的-stream:handleEvent:委托方法中,当您收到nsstreamventhassspaceavailable事件时,您可以使用以下方式发送数据: NSData *data = /* get some data… */; const uint8_t *buffer = [data bytes]; NSUInteger length = [data length];

我正在使用NSStream编写TCP套接字。我可以打开流,但无法写出任何内容(例如NSString或NSData)。

在您的
-stream:handleEvent:
委托方法中,当您收到
nsstreamventhassspaceavailable
事件时,您可以使用以下方式发送数据:

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);
}

您好,我已经尝试了代码,但出现了错误“写入流时出错:错误域=NSPOSIXErrorDomain代码=9”。操作无法完成。错误的文件描述符“有人知道这个问题吗?听起来好像没有文件描述符支持它。你打开流了吗?你是否正在尝试按照所述从委托回调写入?您好,我使用以下代码打印流状态,返回“2”,所以我猜流是打开的:NSLog(@“outputStream的状态:%i”,[outputStream streamStatus]);Hasbytes可用于读取。对于写入,您需要检查NSStream委托事件,以查看它是否具有HasSpaceAvailable@xapod:你能帮我解决同样的问题吗?