我已经用C#开始了socket编程。以前,我有一些使用Java下的套接字的经验; C#的一切都很好,除了:
C#套接字不会自动获取IP地址。在Java中,服务器套接字只需要一个端口,然后在构造它们时,会自动获取可由方法返回的可用IP(我不记得该方法的名称)。
在C#中,必须为服务器套接字提供IP,否则无法构造它。我希望套接字自动找到一个IP,但是我尝试了IPAddress.any
,它只返回0.0.0.0
,这很奇怪(我甚至不知道这意味着什么!在每个IP上听?)
服务器套接字的IP地址可以由localEndPoint
属性返回,所以我只想让套接字获取IP,然后我会想出使用该方法的内容。
这怎么可能?
答案 0 :(得分:0)
如评论中所述。 0.0.0.0表示“任何IP地址”,这正是您在构造函数中指示的内容。
如果您希望它只侦听特定IP,则需要在构造函数中明确表示该IP。它不会随机选择一个,你不应该想要它。
顺便提一下,列出系统上可用IP的类别不同。如果您需要,请在评论中告诉我。