为TCP套接字客户端连接指定本地端口
如何使用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?
根据错误报告“ net.connect()应该接受一个本地端口选项 ”,该function最近添加:
目前,net.connect有一个参数localAddress,但它也应该有一个本地端口…
它只是还没有发布… [它]应该包含在v0.11.13
它在2月17日的这个提交中被添加了,并且应该在Node的下一个版本中可用。 如果你不能等待,你可以直接在0.10.31中打补丁,它应该是原样的,因为0.10.31版本时的C ++ Bind
函数支持一个端口参数(补丁只是增加了JavaScript层使用该C ++参数)。