socket断开连接监听
时间: 2023-12-06 16:35:46 浏览: 30
在Socket TCP中,当客户端和服务端完成数据传输后,需要断开连接。服务端可以通过监听客户端的断开连接事件来实现这一功能。具体实现方法如下:
```python
import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_socket.bind(('localhost', 8888))
# 监听连接
server_socket.listen(5)
# 等待客户端连接
client_socket, client_address = server_socket.accept()
# 接收客户端发送的数据
data = client_socket.recv(1024)
# 处理数据
print(data.decode())
# 监听客户端断开连接事件
while True:
try:
data = client_socket.recv(1024)
if not data:
break
except Exception as e:
print(e)
break
# 关闭连接
client_socket.close()
server_socket.close()
```
在上述代码中,我们使用了一个while循环来监听客户端的断开连接事件。当客户端断开连接时,recv()方法会返回一个空字符串,此时我们可以通过判断返回值是否为空来判断客户端是否已经断开连接。