如何使用node.js指定出站TCP连接的源端口/本地端口?这是支持某些防火墙规则所必需的。
net.connect({port: PORT, host: HOST}, callback)
我希望在上面的调用中有一个额外的参数'localPort'。但看起来API无法处理,以下情况不起作用。
net.connect({port: PORT, host: HOST, localPort: 12345}, callback)
使用Java我会在下面做:
Socket s = new Socket();
s.bind(new InetSocketAddress("179.11.123.102", 5000));
s.connect(new InetSocketAddress("178.1.2.102", 1234));
node.js中的等价物是什么?
答案 0 :(得分:5)
根据错误报告“net.connect() should accept a localPort option”,最近添加了该功能:
目前,net.connect有一个参数localAddress,但它也应该有一个localPort ...
它尚未发布...... [它]应该包含在v0.11.13
中
它于2月17日在this commit中添加,并且应该在Node的下一个版本中提供。如果您不能等待,可以将diff直接修补到0.10.31,它应该按原样运行,因为C++ Bind
function at the time of the 0.10.31 release支持端口参数(补丁只是将JavaScript层扩充为 use < / em>那个C ++参数)。