tcp多线程并发服务器
时间: 2023-09-24 10:09:58 浏览: 89
用多线程实现的并发服务器
TCP多线程并发服务器是一种可以同时处理多个客户端请求的服务器。这种服务器通常使用多线程或多进程来实现并发处理,可以同时处理多个客户端请求,提高服务器的可靠性和性能。
以下是一个简单的TCP多线程并发服务器的示例代码:
```python
import socket
import threading
def handle_client(client_socket, client_address):
print("Accepted connection from: ", client_address)
while True:
data = client_socket.recv(1024)
if not data:
break
client_socket.sendall(data)
client_socket.close()
print("Connection closed from: ", client_address)
def run_server():
# 创建服务器套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# 绑定地址和端口
server_address = ('localhost', 8000)
server_socket.bind(server_address)
# 监听连接
server_socket.listen(5)
print("Server is listening on {}:{}".format(*server_address))
# 处理客户端连接
while True:
# 接受客户端连接
client_socket, client_address = server_socket.accept()
# 创建线程处理客户端请求
client_thread = threading.Thread(target=handle_client, args=(client_socket, client_address))
client_thread.start()
if __name__ == '__main__':
run_server()
```
在这个例子中,我们先创建了一个服务器套接字,然后绑定了地址和端口,开始监听连接。当有客户端连接时,我们启动一个新的线程来处理客户端请求。在这个线程中,我们使用recv()函数来接收客户端发送的数据,然后使用sendall()函数将数据发送回客户端。最后,我们关闭客户端套接字并输出连接已关闭的消息。
阅读全文