客户端程序无法连接到 0.0.0.0 上托管的服务器



我制作了一个客户端程序和一个服务器程序

托管和连接到127.0.0.1:23000作品:托管并连接到127.0.0.1

但是托管和连接到0.0.0.0:23000不会:托管并连接到0.0.0.0

如果我在0.0.0.0:23000上托管一台服务器,并使用telnet连接到它,它就可以工作了。但如果我使用我的客户,为什么不呢?

这是我连接到我的服务器,该服务器托管在0.0.0.0:23000上,telnet:ttelnet连接到0.0.0.0

我这样做的目的是,如果localhost是输入IP,则IPAddress对象将被分配IPAddress。无论如何,为什么它不起作用?

以下是文本中的例外:

System.Net.Sockets.SocketException (0x80004005): The requested address is not valid in its context 0.0.0.0:23000
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at System.Net.Sockets.Socket.Connect(IPAddress address, Int32 port)
at SocketClient.Program.Main(String[] args)

在写这篇文章的时候,我意识到为什么它能与telnet一起工作,但不能与我的客户端一起工作:显然,当服务器托管在0.0.0.0上时,客户端不能连接到0.0.0.0,但它可以通过127.0.0.1连接到服务器,所以要连接到托管在0.0.0.0.0.0上的服务器,你需要连接到127.0.0.1,因为这是环回IP。

这就是telnet的作用,当您键入";localhost";作为IP,它连接到127.0.0.1,而不是0.0.0.0。当telnet客户端连接并且其IP端点显示在服务器上时,可以看到这一点。

这是我让我的客户端连接到我的服务器,它托管在0.0.0.0上:连接到托管在0.0.0.0上的服务器

最新更新