有没有一种方法可以刷新CocoaAsyncSocket (GCDasyncSocket)的内部缓冲区/队列/等等?
我想设置一个环境,当我调用时.readDataWithTimeout .方法,我不希望它从以前的连接中读取任何遗留的垃圾数据,而这些数据可能已经被缓冲并处于某个位置。
或者有时候我只是想忽略一个数据流,重新开始,所以我想确保管道干净。
发布于 2011-11-19 01:41:07
我也在CocoaAsyncSocket谷歌集团中问过这个问题,罗比汉森对http://groups.google.com/group/cocoaasyncsocket/browse_thread/thread/92ccbb9eff9ae04e?hl=en做了详细的阐述。
发布于 2019-02-07 20:59:48
确保在写入数据后发送\n或\r。我已经编写了一个套接字管理类,您可以在这里检查它:CocoaAsyncSocketManager
样本代码:
func sendMessage(messageString msg: String) {
if let _data = msg.data(using: .utf8), let _carriageReturn = "\r".data(using: .utf8) {
tcpSocket?.write(_data, withTimeout: -1, tag: 0)
tcpSocket?.write(_carriageReturn, withTimeout: -1, tag: 99)
}
}https://stackoverflow.com/questions/8174589
复制相似问题