我有asp.net網站。當我在加載頁面之前使用Thread.Sleep創建測試頁面時。有用於登錄的表單身份驗證。等待一小時後,頁面自動退出。所以我想看看這個註銷的原因是什麼。我打算使用C#代碼捕獲所有的HttpConnection通信。我只想看到通信關閉的原因。我使用Visual Studio 2005在本地機器上運行網站。C#程序分析Http連接
您可以共享代碼以實現此功能嗎?
注:我明白這可以使用像tcpDump這樣的工具來實現。但是目前我正在嘗試單獨爲此功能開發一個代碼 - 查看連接關閉/註銷的原因。
UPDATE:
我有下面的代碼。但我該如何實現我的任務 - 如何找到所有連接關閉/註銷的原因。請幫助我,因爲我對套接字編程完全陌生。
protected void Page_Load(object sender, EventArgs e)
{
IPHostEntry host;
string localIPAddress = "?";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
localIPAddress = ip.ToString();
}
}
System.Net.Sockets.Socket mySocket = new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Raw, System.Net.Sockets.ProtocolType.IP);
mySocket.Bind(new System.Net.IPEndPoint(System.Net.IPAddress.Parse(localIPAddress), 0));
mySocket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.IP, System.Net.Sockets.SocketOptionName.HeaderIncluded, 1);
byte[] inBytes = new byte[] { 1, 0, 0, 0 };
byte[] outBytes = new byte[] { 0, 0, 0, 0 };
mySocket.IOControl(System.Net.Sockets.IOControlCode.ReceiveAll, inBytes, outBytes);
}
爲什麼這個問號'string localIPAddress =「?」;'? –
用'try {} catch {}'嘗試圍繞你的代碼。看看是否有任何異常被拋出。 –
沒有例外。我正在尋找代碼,將告訴如何找到所有連接的開始和結束時間,連接註銷時間,連接註銷/關閉/到期原因等..請幫助 – Lijo