在Python中,可以使用socket
模塊來創建和管理套接字(socket)。要判斷socket連接的狀態,可以使用getsockopt
方法來獲取socket選項的值。具體步驟如下:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
AF_INET
表示IPv4地址簇,SOCK_STREAM
表示使用TCP協議。settimeout
方法設置超時時間(可選):s.settimeout(5)
connect
方法連接到遠程主機:s.connect(('遠程主機IP', 遠程主機端口))
遠程主機IP
和遠程主機端口
為實際的IP地址和端口。getsockopt
方法獲取socket選項的值:s.getsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE)
SOL_SOCKET
表示socket選項的級別,SO_KEEPALIVE
表示要獲取的選項。s.close()
完整的示例代碼如下:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(5)
s.connect(('遠程主機IP', 遠程主機端口))
status = s.getsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE)
s.close()
if status == 0:
print("連接正常")
else:
print("連接已關閉")
注意:上述代碼中的遠程主機IP
和遠程主機端口
需要替換為實際的IP地址和端口。另外,使用settimeout
方法設置超時時間可以避免連接長時間阻塞。