1
我使用下面的代碼,它似乎有時插座沒有發佈udpclient.close並不總是關閉套接字?
我是如何發現的? 通過使用進程管理器(來自sysinternal), 在應用的屬性,然後進入TCP/IP選項卡。
我可以看到端口正在使用的鍵入「netstat的 - 」進入控制檯
我的問題是,一段時間(如5周)有喜歡使用的應用程序,同時它應該是40端口後零。
任何人都知道它爲什麼這樣做?
public void Connect()
{
try {
// Resolve server address
IPHostEntry hostadd = Dns.GetHostEntry(TimeServer);
IPEndPoint EPhost = new IPEndPoint(hostadd.AddressList[0], 123);
//Connect the time server
UdpClient TimeSocket = new UdpClient();
TimeSocket.Connect(EPhost);
TimeSocket.Send(SNTPData, SNTPData.Length);
SNTPData = TimeSocket.Receive(ref EPhost);
TimeSocket.Close();
if (!IsResponseValid())
{
throw new Exception("Invalid response from " + TimeServer);
}
} catch(SocketException e)
{
throw new Exception(e.Message);
}
}
如果答案正確,請投票回答! ;) – Isaac 2009-09-10 18:46:53