使用IPAddress.Any连接到Socket

时间:2011-03-09 14:38:23

标签: sockets network-programming ip-address

hej Hej, 我的问题与我以前的帖子有关: Get right ip adress of pc with multiple network cards

我将代码更改为:

TextFileTracer.Write(String.Format("Create endpoint for host {0}:{1}", MultipleNetworkMod.BindToMultipleNetworks(hostEntry.AddressList(0)).ToString(), _port), TextFileTracer.TraceSource.Framework)
            Dim ep As IPEndPoint = New IPEndPoint(IPAddress.Any, _port)
            TextFileTracer.Write("Creating socket...", TextFileTracer.TraceSource.Framework)
            s = New Sockets.Socket(ep.AddressFamily, Sockets.SocketType.Stream, Sockets.ProtocolType.Tcp)
            s.Blocking = True
            TextFileTracer.Write("Connecting to endpoint...", TextFileTracer.TraceSource.Framework)
            s.Connect(ep)
            TextFileTracer.Write("Socket connected!", TextFileTracer.TraceSource.Framework) 

但是当连接到他的Socket我得到了例外: 请求的地址在其上下文0.0.0.0中无效:“MyPortNr”(不是字符串只是一个int号)

在我们使用hostEntry列表中的第一个ipaddress创建IPEndpoint之前,但由于多个网卡无法正常工作。

有人可以帮我,让我再次走上正轨吗?

格尔茨, 乔纳森

1 个答案:

答案 0 :(得分:0)

我解决了,看到我的另一个帖子。 我让用户决定要绑定哪个网络接口卡,然后我确定了该卡的IPAddress。