我有一個TcpClient
對此我連接到本機和一切工作fine.Now一個額外的步驟,我想每timer.As的幫助來監控非常60秒的連接狀態話題我才知道,有沒有直接的方法來測試它。所以我試圖通過發送到機器的最近消息的響應時,應用程序就會從網絡中得到它的基礎研究。TcpClient的連接狀態問題
這裏是代碼..
// Find out whether the socket is connected to the remote host.
//Send a message to Machine
try
{
byte[] notify = Encoding.ASCII.GetBytes("Hello");
stream.Write(notify, 0, notify.Length);
}catch { }
//Check if it reached to machine or failed
bool getConnectionStatus = client.Connected;
if (getConnectionStatus == true)
{
//Do nothing
}
else
{
//Stop the thread
_shutdownEvent.WaitOne(0);
_thread.Abort();
//Start Again
_thread = new Thread(DoWork);
_thread.Start();
}
但是,在這種情況下發生的最令人驚訝的事情是,如果機器是從網絡中則也同時寫了第一次能寫而這就是爲什麼連接狀態來作爲連接雖然是出了network.Second時候,它正試圖發送失敗的數據和預期的一樣狀態爲斷開。
我面臨的主要問題是,一旦它從網絡上斷開連接,爲什麼它能夠發送數據。由於這個,我丟失了當網絡運行時存儲在機器中的所有緩衝區數據關閉。 請幫助我..
發送一個「PING」,等待一個「PONG」 – 2014-09-29 13:22:12
@AlexK。很抱歉,我沒有得到你 – 2014-09-29 13:34:33