我在 C++ 中构建了一个 websocket(使用 boost::beast)。如果需要,它将使用 JSON 字符串为网站(客户端)提供服务。在设计我的设置时,我犯了一个灾难性的错误:我忘记了客户端 Web 浏览器(运行在与服务器不同的设备上)不会知道服务器的 IP 地址。它将知道服务器正在侦听的端口。
我应该指定:(服务器和客户端)都在本地网络中运行。
所以我有两个笨拙的想法来解决这个问题。我很高兴听到你的意见——我相信会有更优雅的方法来解决我的问题。
向网络发送某种广播消息“非常特定的字符串”。我的服务器将知道它已被查找,并将以其 IP 响应,以便可以建立连接。 这篇文章似乎表明这种方法是不可能的。
让用户输入运行服务器的设备的(已知)IP 地址。我真的很想避免这种最后的解决方案。
不幸的是,我无法在托管 websocket 服务器的设备上运行 node.js。