You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否将客户端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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 09:42:47