基於python檢測端口是否在使用


開發中,需要開啟Modbus Slave服務,但是,modbus_tk 並沒有提供一個端口檢測的方法,導致 modbus_tcp.TcpServer(port=502) 時候會提示端口被占用

於是需要在創建 tcp server 的時候,首先檢測端口是否被占用。

代碼如下:

def net_is_used(port,ip='127.0.0.1'):
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    try:
        s.connect((ip,port))
        s.shutdown(2)
        print('%s:%d is used' % (ip,port))
        return True
    except:
        print('%s:%d is unused' % (ip,port))
        return False

原理:

  創建一個socket服務,連接對應的 ip:port ,如果能夠連接,說明端口被占用;若端口可用,則不可連接。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM