objective - C输出流刷新问题



你好,我在Objective c中有一个NSOutputStream问题。我有一个服务器在我的计算机上运行,iPhone模拟器将数据发送到服务器,服务器应该将其发送回来。唯一的问题是,当我发送它时,它不会发送文本,直到我退出模拟器,只有这样服务器才能获得信息。

NSString* toSend = chatField.text;
NSData* sendData = [[NSData alloc] initWithData:[toSend dataUsingEncoding:NSASCIIStringEncoding]];
[outStream write:[sendData bytes] maxLength:[sendData length]];
[chatField setText:@""];

我用

初始化
CFReadStreamRef reader;
CFWriteStreamRef writer;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)ipField.text, 5000, &reader, &writer);
inStream = (NSInputStream *)reader;
outStream = (NSOutputStream *)writer;
[inStream setDelegate:self];
[outStream setDelegate:self];
[inStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inStream open];
[outStream open];

在我看来,我错过了类似于Java .flush()方法的东西。有人知道问题所在吗?

谢谢!

在发送到服务器的消息末尾添加"rn":

NSString* toSend = [NSString stringWithFormat:@"%@rn", chatField.text];

最新更新