0
我正在進行套接字編程,並且必須保持加入服務器的所有客戶端的跟蹤。如何知道客戶端斷開套接字中的服務器
所以我只是讓他們的名單:
client = []
,並追加客戶端它時,他們連接到服務器。 現在,我必須在客戶端斷開連接時從列表中刪除客戶端。 問題是服務器如何知道客戶端是否與該服務器斷開連接。
用於連接服務器,我使用:
s = socket.socket()
s.bind((host, port))
client = []
while True:
c, addr = s.accept()
client.append(addr)
s.close()
如果您使用了接受的套接字,你寫的時候得到一個錯誤,或者對已關閉了其sockect儘快讀取時爲0字節讀取。 –
On _Ux_因爲(普通)套接字是文件描述符,所以可以使用['fcntl(fd,F_GETFD)'](http://man7.org/linux/man-pages/man2/fcntl.2.html)。 – CristiFati