Java 端口號被重複使用了怎麼辦?


1. 問題

  • 端口號被重複使用了怎麼辦?

2. 解答

  • 一個進程可能多個端口,進程是一定會用端口的,沒有端口,進程就不能執行,換句話說,如果端口號被另外一個服務或應用所佔用,會導致當前程序啓動失敗;
  • 爲了避免端口被重複使用,一般使用擲骰子的辦法跳過已佔用的端口;
  • 爲了使用已佔用的端口,可以關掉使用它的進程,具體操作如下:
    • 打開 CMD,輸入 netstat -ano | findstr 端口號 查看指定端口號的使用情況,或者輸入 netstat -ano 查看所有端口的使用情況;
      在這裏插入圖片描述
    • 查到 PID(Process Identification) 後,輸入 taskkill /pid 進程ID /f 或者 taskkill -pid 進程ID -f 關閉端口號;
  • 注意:TCP 和 UDP 的端口號可以重複使用,因爲 TCP 和 UDP 的端口是獨立的:
    • 當目的主機收到一個以太網數據幀時,數據就開始從協議中由底部上升,同時去掉上層協議加上的報文首部。每層協議盒都要去檢查報文首部中的協議標識,以確定接收數據的上層協議。這個過程稱作分用(Demultiplexing),過程圖如下:
      在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章