我对asio中如何将数据读入流感到有点困惑。我的主要问题是:
谢谢。
发布于 2010-01-02 05:26:30
如果同一台计算机同时进行多个异步写入,而接收计算机上只有一个异步读取,则会发生什么情况。在TCP协议上,数据是否有可能被交织?
如果在另一个异步写入操作正在进行时调用async_write,则结果未定义。这类似于在来自两个不同线程的同一个套接字上同时执行两个write()系统。你可能会把数据搞得一团糟。
ASIO库如何知道何时调用处理读流中新数据的处理程序?它会调用每个接收到的字节吗?当客户断开连接的时候?
如果您调用async_read,当收到所有请求的数据量时,它将调用回调。如果您调用async_read_some,它将在至少有一个字节时调用回调,但可能会更多。可能是另一端发送的单个TCP数据包的内容。
有什么好的(简单的)示例使用流,而不是使用asio从tcp套接字读取缓冲区?
你是说asio::iostream?在asio文档中有示例。
https://stackoverflow.com/questions/1990645
复制相似问题