Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎么知道流使用的是哪个本地端口?_Javascript_Sockets_Tcp_Node.js - Fatal编程技术网

Javascript 我怎么知道流使用的是哪个本地端口?

Javascript 我怎么知道流使用的是哪个本地端口?,javascript,sockets,tcp,node.js,Javascript,Sockets,Tcp,Node.js,是否可以明确指定应由net.Stream使用的本地端口,或者找出用于连接的本地端口 根据文档,无法指定本地端口: stream.connect(port, host='127.0.0.1') 列出了具有指定端口的指定地址 如果要打开套接字,必须使用net.createConnection(port,host='127.0.0.1'),http.createServer或类似的smth。。。 在Linux中,要显示所有侦听的套接字,请根据node.js文档()键入netstat-an,没有公开的

是否可以明确指定应由
net.Stream
使用的本地端口,或者找出用于连接的本地端口

根据文档,无法指定本地端口:

stream.connect(port, host='127.0.0.1')
列出了具有指定端口的指定地址

如果要打开套接字,必须使用
net.createConnection(port,host='127.0.0.1')
http.createServer
或类似的smth。。。
在Linux中,要显示所有侦听的套接字,请根据node.js文档()键入
netstat-an

,没有公开的方法或变量提供您要查找的信息。我建议提交补丁()或通过邮件列表()发出请求。

如果你控制服务器,你可以要求它告诉你。不太好看,但与NAT后面的点对点连接协商时必须跨越的障碍不同。

你想连接到服务器,还是监听端口?我正在连接到服务器,并试图找出客户端套接字绑定到哪个本地端口。真正的问题是:你想实现什么?远程方可以更好地确定您的端口号,因为在中间NAT和代理进行了所有修改之后,远程方可以看到IP地址/端口号。Scala remote Actors通信协议需要明确指定的本地端口-这就是我需要它的原因。我想打开一个客户端套接字(不是对传出连接作出反应的服务器套接字)。每个客户端套接字都绑定到一个本地端口,用于接收来自服务器套接字的响应。我试图在运行时确定使用哪个端口。通过
netstat-tlnp
可以确定客户端套接字使用哪个端口(通过进程ID),但我希望有一些不那么麻烦的东西。看起来不可能通过API找到使用的本地端口,因此我必须使用
netstat-tlnp
通过进程ID获取它。您可以使用socket.localPort。
stream.connect(port, host='127.0.0.1')