2014年1月27日 星期一

[Python, Socket] Error Code: 98 Message Address Already in Use

最近在開發一些 Proof of Concept 的程式,使用到 Python 的 socket。

Socket server / client 的開發上並未遇到太大的問題,倒是後續的使用上時常遇上

Bind failed. Error Code: 98 Message Address already in use 這問題。

經過 Google 大神的指示,小弟透過這裡紀錄解決方法,以便後續查找!

問題發生的主因,似乎是 socket server 在 listen 的 port 被占住了!導致系統回報錯誤。

首先使用

sudo netstat -ltnp | grep ':YOUR PORT NUMBER'

上述的指令會回覆:

tcp   0   0 0.0.0.0:YOUR PORT NUMBER   0.0.0.0:*   LISTEN   30381/python

由此回覆,我們發現 YOUR PORT NUMBER 正使用 process 30381 ( 表示使用中 )

這時候把這一個 process kill 掉就可以解決問題囉!

sudo kill -9 30381

沒有留言:

張貼留言