C# NodeJS-服务器上未显示本地地址
我有以下代码连接到套接字服务器:C# NodeJS-服务器上未显示本地地址,c#,javascript,node.js,sockets,tcp,C#,Javascript,Node.js,Sockets,Tcp,我有以下代码连接到套接字服务器: var client = net.createConnection({ host: "localhost", port: 10101, localAdress: "172.28.28.10" }, function () { }); 我在我的机器上定义了多个网络接口,我希望能够区分建立连接的接口(参数localAddress) 问题是套接字服务器(在同一台机器上运行)将每次连接尝试解释为来自地址127.0.0.1 我尝试使用TcpClient实现socket
var client = net.createConnection({ host: "localhost", port: 10101, localAdress: "172.28.28.10" }, function () {
});
我在我的机器上定义了多个网络接口,我希望能够区分建立连接的接口(参数localAddress
)
问题是套接字服务器(在同一台机器上运行)将每次连接尝试解释为来自地址127.0.0.1
我尝试使用TcpClient实现socket客户端的C#版本,socket服务器的RemoteAddress
属性被正确设置为address172.28.28.10
Socket服务器是使用C#实现的,但我也在Node中编写的服务器上测试了上述客户机代码。没有区别。在节点服务器上,remoteAddress
也是172.0.0.1
我甚至尝试将我的C#socket客户端连接到节点套接字服务器,并正确显示节点remoteAddres
,因此我认为问题在于客户端代码
有人知道我做错了什么吗?我猜127.0.0.1(本地主机)没有以任何方式通过172.28.28.10 IP路由,即使您通过localAddress询问。能否将主机参数也更改为
172.28.28.10
?它不必是172.28.28.10
,而是可以从计算机“外部”访问的任何地址。@Alandarov感谢您的回复。如果我将host
参数更改为172.28.28.8
(在我的计算机上定义的另一个接口),则服务器上的RemoteEndpoint
为172.28.28.8
。似乎忽略了localAddress
参数。不知道为什么。神秘。。。不是答案,但您可以尝试挖掘实际的net模块源代码:并查看参数是如何生成的used@alandarev我觉得自己很愚蠢:我拼错了localAddress
:)。我想是时候休息一下了:)再次谢谢!我知道那种感觉。。。