为什么C# TcpListener需要IP地址

Tam*_*ler 4 c#

为什么C#中的TcpListener类的构造函数中需要IP地址?因为我们只是在本地主机上打开一个端口并将其导出到外部。

例如

public TcpListener(IPAddress localaddr, int port)
Run Code Online (Sandbox Code Playgroud)

例如,java中的等价物ServerSocket类没有这样的需要IP的构造函数。仅需要端口。

AKX*_*AKX 5

评论确实已经回答了这个问题 \xe2\x80\x93 它就在那里,所以你必须明确要绑定到哪个地址。

\n\n

如果你不在乎,IPAddress.Any那就去做吧。如果您只需要本地绑定,IPAddress.Loopback.

\n\n

但是,要更深入地了解ServerSocket您提到的内容,您可以在这里看到无地址构造函数实际上只是使用地址参数调用3 参数构造函数null,并且文档说

\n\n
\n

如果bindAddr为空,它将默认接受任何/所有本地地址上的连接。

\n
\n\n

这意味着 Java 的

\n\n
new ServerSocket(1234)\n
Run Code Online (Sandbox Code Playgroud)\n\n

相当于C#的

\n\n
new ServerSocket(1234)\n
Run Code Online (Sandbox Code Playgroud)\n