【问题标题】:Websocketpp: Address already in useWebsocketpp:地址已在使用中
【发布时间】:2017-06-07 12:37:03
【问题描述】:

我正在使用 websocketpp 来运行 websocket 服务器。但是,当我关闭应用程序并重新启动它时,出现错误:

[info] asio listen error: system:98 (Address already in use)

看来我必须在 asio 套接字中设置reuse_address。我还没有找到任何文档如何做到这一点。

如何让websocket服务器复用地址?

【问题讨论】:

  • 在古代,我在类似的情况下也遇到过这个错误(但是使用了基本的socket函数)。最后,我发现我的应用程序没有正确关闭/关闭套接字。相反,操作系统(IRIX)为我做了这件事(在退出进程之后),但不是在大约 30 秒的某个超时之前。 (在我为等待而烦恼之后,我终于更深入地挖掘并修复了它......)

标签: c++ websocket


【解决方案1】:

根据this help page 看来有一个set_reuse_addr() 函数暴露了,这可能有帮助吗?

简介:

void set_reuse_addr (bool value)

指定是否使用 SO_REUSEADDR TCP 套接字选项。 此标志的作用取决于您的操作系统。

有关详细信息,请参阅操作系统文档。那里 启用此选项可能会带来安全后果。

新值会影响未来的仅监听调用,因此请先设置此值 打电话听。

默认为假。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2015-10-30
    • 2014-08-11
    • 2013-09-08
    相关资源
    最近更新 更多