
错误不会一直发生,但是当客户端连接到服务器并在关闭时发送数据似乎更频繁.我想问题是服务器关闭时仍然有挂起的连接(相关主题:https://stackoverflow.com/questions/41602/how-to-forcibly-close-a-socket-in-time-wait).
在服务器端,我使用的是boost :: asio :: ip :: tcp :: acceptor.我用选项“reuse_address”(见http://beta.boost.org/doc/libs/1_38_0/doc/html/boost_asio/reference/basic_socket_acceptor.html)初始化它.以下是代码段:
using boost::asio::ip::tcp;acceptor acceptor::acceptor(io_service);endpoint ep(ip::tcp::v4(),port);acceptor.open(ep.protocol());acceptor.set_option(acceptor::reuse_address(true));acceptor.bind(ep);acceptor.Listen();
受理人关闭:
acceptor.close();
我也尝试在之前使用acceptor.cancel(),但它具有相同的效果.发生此错误时,我无法在同一个端口上重新启动服务器一段时间.重新启动网络有助于,但不是永久性的解决方案.
我失踪了什么
任何帮助将不胜感激! 总结
以上是内存溢出为你收集整理的c – 已使用boost asio接收器的地址全部内容,希望文章能够帮你解决c – 已使用boost asio接收器的地址所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)