1
我使用boost :: asio来创建服务器应用程序,特别是UDP API。现在我使用async_receive_from从一个池中启动多个线程来监听单独的缓冲区。这在我主要开发的Ubuntu上非常适用。多个并行调用到udp :: socket :: async_receive_from - 未定义的行为?
但是,编译windows时,我的回调会针对每个发送的缓冲区多次调用,只有一个报告发现了某些内容,其他报告发送的是零字节。
我看过boost :: asio文档,我知道写/读自由函数必须被串行调用 - 但我一直无法找到关于async_receive_函数是否适用的任何信息。
我应该直接调用async_receive_吗?
谢谢!需要更多的代码在我身边,但现在它工作正常。 :) – Max 2011-02-09 22:14:24