Socket埠號上限測試問題

2021-09-11 07:36:26 字數 659 閱讀 8790

win10系統自行將程式暫停,並產生小綠葉後將程式強制關閉.

今天在測試socket服務端高併發處理效能時,我做了乙個客戶端模擬出數十萬個客戶端在隨機情況下同時連線斷開,並收發訊息。

在程式執行時突然發現當客戶端連線數目達到到70000左右時,win10系統突然將程式暫停.

如圖所示,再經過一段時間後任務管理器程序後方出現小綠葉的圖示.

之後程式被強制結束.

開始懷疑是否與win10系統開啟的節能模式有關,於是切換到了高效能模式,發現情況還是相同。

後來在看socket網路程式設計一些資料時

借鑑此篇,突然發現在做客戶端模擬時忽略了埠數量的情況,一台電腦最多支援65536個埠,客戶端在連線數量超過埠上限時將會持續不斷的進行連線,而我卻模擬了數十萬個客戶端,這些併發處理後超過埠上限的部分服務端將無法重新再分配埠,導致客戶端持續不斷進行連線,造成程式負載。

win10在檢測到記憶體被無意義占用時,將異常程式暫停,並關閉。

將客戶端的異常處理做好,檢測到佇列滿了以後停止連線即可。

安全測試 埠號

埠,進入某個程式的一扇窗,要開啟某項應用,就要先開啟這項埠,如上網埠號80,黑客利用使用者pc端的已埠號如80,則可進行web攻擊。原則是只開啟常用或必須的埠號,其他的進行關閉。1.檢視當前開啟的所有埠號 netstat ano 2.檢視特定埠號為 80 的pid輸入 netstat aon fin...

埠號被占用問題

執行tomcat時出現埠號被占用的情況 進入cmd控制台輸入以下命令便可解決此問題 注意,在預設目錄下輸入netstat aon findstr 8080 無效時,所以需要轉到目錄 c windows system32 下,再輸入命令,netstat aon findstr 8080 找到埠是被哪個...

socket中的虛擬埠號port

埠號 協議埠號 埠號的全名就是協議埠號,它用於應用層和傳輸成的互動,在建立乙個套接字的時候需要知道ip位址和埠號,這裡的埠號它是虛擬的,運輸層協議中我們知道埠號是乙個十六位的整數,那麼就表示了0到65535這麼多的埠號,他到底有什麼用處呢。如果說ip是確定網路中的唯一一台主機的話,那麼ip加埠號是確...