boost::asio 是否正确处理递归服务器连接?
我有一个 TCP/IP 异步服务器,它从 async_read 处理程序中连接到它自己并且似乎死锁:下一个 async_accept 正在工作但 async_read 阻塞。
服务器基于带有线程池的 http asio 示例。
它实现了客户端正在使用的特定 API,并且还可以将某些功能委托(delegate)给另一台服务器(充当代理或云节点)。问题是,当另一台服务器是本地主机(例如它自己)时,死锁发生在 asio 库中的某处。
有什么建议吗?
最佳答案
我实际上发现问题出在 SSL 套接字上 - 当服务器调用自身时,握手函数会死锁。可能与 asio ssl 代码中的一条链有关。
关于c++ - boost::asio 和递归服务器调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4376124/