当前位置:首页 > 行业动态 > 正文

python如何做长连接

在Python中,可以使用socket库来实现长连接,以下是一个简单的示例:

1、导入所需的库:

import socket
import threading

2、定义一个处理客户端请求的函数:

def handle_client(client_socket):
    request = client_socket.recv(1024)
    print(f"接收到的数据: {request.decode('utf8')}")
    client_socket.send("数据已收到".encode('utf8'))
    client_socket.close()

3、创建一个服务器套接字,并绑定到指定的IP地址和端口:

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('0.0.0.0', 9999))
server.listen(5)
print("服务器正在监听端口9999...")

4、使用一个无限循环来接受客户端连接,并为每个连接创建一个新的线程来处理:

while True:
    client, addr = server.accept()
    print(f"接受到来自{addr}的连接")
    client_handler = threading.Thread(target=handle_client, args=(client,))
    client_handler.start()

将以上代码片段组合在一起,完整的服务器代码如下:

import socket
import threading
def handle_client(client_socket):
    request = client_socket.recv(1024)
    print(f"接收到的数据: {request.decode('utf8')}")
    client_socket.send("数据已收到".encode('utf8'))
    client_socket.close()
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('0.0.0.0', 9999))
server.listen(5)
print("服务器正在监听端口9999...")
while True:
    client, addr = server.accept()
    print(f"接受到来自{addr}的连接")
    client_handler = threading.Thread(target=handle_client, args=(client,))
    client_handler.start()

运行此代码后,服务器将在端口9999上监听连接,当客户端连接到服务器时,服务器将接收客户端发送的数据,并向客户端发送确认消息,这个过程将持续进行,直到服务器关闭或客户端断开连接。

0

随机文章