當前位置:編程學習大全網 - 編程軟體 - C#的Soket編程中,如何快速的知道與服務器斷開了

C#的Soket編程中,如何快速的知道與服務器斷開了

Socket沒法做到這樣,必須發送數據才能檢測,因為空閑時沒必要作出這種額外舉動,只有當妳準備通信時才有必要知道連接是否有效。這是Socket協議的機制,c#無法改變他,這也是防止不停的向遠程主機確認增大服務器壓力,妳這種做法1個2個客戶端沒問題,如果1000 2000個都不停的檢測連接狀態,那麽服務器不需要有數據就崩掉了

如果妳只是想知道單個Socket實例的狀態,可以調用實例的poll方法,想知道多個的話用Scoket類的靜態方法Select,兩者相同,只是處理的是單個和列表

對客戶端服務器端都有效,但探測不同,以下說明客戶端

public bool Poll(int microSeconds, SelectMode mode);

microSeconds為等待時間,毫秒,若想無限等待,請輸入負整數

mode有三種:

SelectRead 如果連接可讀、關閉、重置、終止,返回true

SelectWrite 如果可以發送數據返回true

SelectError 如果連接已失敗、OutOfBandInline未設置但外帶數據,返回true

  • 上一篇:女孩子初中畢業學什麽好?
  • 下一篇:關於C語言編程 的下標是指什麽?
  • copyright 2024編程學習大全網