代码片段
public InitState Initialize()
{
...
IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
...
IPAddress localAddress = null;
for (int i = 0; i < hostEntry.AddressList.Length; ++i)
{
if (hostEntry.AddressList[i].AddressFamily==AddressFamily.InterNetwork)
localAddress = hostEntry.AddressList[i];
}
...
try
{
if(mListenerSocket==null)
mListenerSocket=new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
IPEndPoint localIP = new IPEndPoint(localAddress, mListenPort);
mListenerSocket.Bind(localIP);
mListenerSocket.Listen(50);
mListenerSocket.BeginAccept(new AsyncCallback(OnHandleClientConnection), null);
}
catch ...
...
}