能否将客户端WebSocket绑定到指定本地端口?
如何在浏览器JavaScript中指定WebSocket的本地绑定端口以实现TCP打洞?
我正尝试在浏览器客户端与C++服务器之间建立WebSocket连接,且除防火墙放行连接外,无需对服务器进行额外网络配置。我计划通过TCP打洞实现这一目标(我了解这更偏向P2P连接,但WebSocket协议仅支持客户端-服务器架构)。我已搭建了一台会合服务器,可通过TCP接收WebSocket连接。
问题在于,要成功建立浏览器客户端与C服务器的连接,双方需使用同一本地端口打开多个套接字(以让数据包通过NAT)。这在C代码中不难实现,但我尚未找到通过客户端JavaScript将WebSocket绑定到指定本地端口的方法。另一个需要考虑的点是能否将多个客户端WebSocket绑定到同一端口,但这并非本次问题的重点。
简短代码示例
let socket = new WebSocket("ws://192.0.2.69:12345"); // 能否指定我们发起连接的本地端口?(客户端套接字绑定) // 通常这个端口由OS随机选择——这不是我想要的 // 12345是要连接的服务器端口,和本地端口无关
内容的提问来源于stack exchange,提问作者Joseph Cordara
相关产品推荐
相关产品推荐

