NSDictionary *bundle = [NSDictionary dictionaryWithObjectsAndKeys:message,@"message", toUserName, @"receiver",fromUserName, @"sender", nil];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:bundle];
NSOutputStream *outStream;
[toUser getInputStream:nil outputStream:&outStream];
[outStream open];
NSInteger bytes = [outStream write:[data bytes] maxLength: [data length]];
[outStream close];
success = YES;
NSLog(@"Wrote %ld bytes", bytes);我得到了:Wrote -1 bytes。
发布于 2011-07-22 13:21:52
从write:maxLength:方法文档中:
返回值
实际写入的字节数,如果发生错误,则返回-1。有关该错误的更多信息,请使用streamError。如果接收方是固定长度的流,并且已经达到其容量,则返回0。
返回值-1表示发生了错误。您应该使用[outStream streamError]来获取一个NSError对象,告诉您哪里出了问题,以便您可以尝试修复它,或者为用户获取问题的描述。
https://stackoverflow.com/questions/6785934
复制相似问题