2

基本上我写了一个 NSData 对象:

[asyncSocket writeData:JSONRequestData withTimeout:-1 tag:1];

运行时调用委托

- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag

但是由于某种原因,当写入进入缓冲区时......它没有写入服务器。

当我停止构建时,我猜套接字决定写入所有内容,而服务器最终会看到它。

我将如何解决这个问题?没有办法刷新 CocoaAsyncSocket,因为它没有必要......我尝试添加行尾,如“/n”等等,但这也没有任何作用。

4

1 回答 1

5

这是基于 user523234 的建议。

基本上,您正在写出的 NSData 需要有某种信号来告诉套接字不再有数据进入。

我附加了

[GCDAsyncSocket CRLFData];

到 NSData 对象

注意:使用

appendData:

方法,必须将 NSData 转换为 NSMutableData。

于 2012-08-18T08:44:31.873 回答