kha*_*liq 2 sockets ios cocoaasyncsocket gcdasyncsocket
基本上我写了一个 NSData 对象:
[asyncSocket writeData:JSONRequestData withTimeout:-1 tag:1];
Run Code Online (Sandbox Code Playgroud)
当运行时,调用委托
- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,当写入到缓冲区时......它没有写出到服务器。
当我停止构建时,我猜套接字决定写入所有内容,并且服务器最终会看到它。
我该如何解决这个问题?没有办法刷新 CocoaAsyncSocket,因为它没有必要...我尝试添加行结尾,例如“/n”等,但这也没有任何作用。
这是基于用户523234的建议。
基本上,您正在写出的 NSData 需要有某种信号来告诉套接字不再有数据传入。
我附加了
[GCDAsyncSocket CRLFData];
Run Code Online (Sandbox Code Playgroud)
到 NSData 对象
注意:要使用
appendData:
Run Code Online (Sandbox Code Playgroud)
方法中,必须将NSData转换为NSMutableData。
| 归档时间: |
|
| 查看次数: |
2338 次 |
| 最近记录: |