我想增加使用Boost ASIO的udp游戏服务器的吞吐量。 现在,每次我需要发送一个数据包,我将它放入一个队列中,然后检查是否有挂起的async_send_to操作,如果是,则不做任何操作,如果没有,则调用async_send_to。 然后我等待写入处理程序被调用,然后调用async_send_to为队列中的下一个数据包(如果有的话)。多次Boost :: ASIO async_send_to一次去
该文件说,这是“TCP套接字”的做法,但没有什么关于UDP套接字的整个互联网。 尝试一下,在stackoverflow上搜索它,你会看到没有人会谈论这个,对于你会发现的两个问题,这个问题被用户忽略。
为什么它保密? 对于100万美元的问题,我可以安全地调用async_send_to连续多次不等待写入处理程序被调用?
在此先感谢。
所以为了确保,我能够在一行中调用所有async_send_to,而不必等待写入处理程序被调用,当然保持缓冲区有效直到处理程序被调用? – NoobyLearner