#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/1/13 22:03 # @Author : ChenAdong # @email : [email protected] # 实现tcp服务器轮流向多个客户端服务(同时只有一个客户端接受服务) import socket def tcp_server(): # 创建套接字 socket_serve = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定端口,一般ip地址不绑定,直接给空值;并且地址是元组形式 socket_serve.bind((" ", 8081)) # 监听端口 socket_serve.listen(3) while True: new_socket, client_addr = socket_serve.accept() # 阻塞,直到有客户端连接,多个用户连接时候,组成一个列表,下面再逐个拿出每个用户地址,创建新的套接字,进行通信 while True: recv_data = new_socket.recv(1024) # 如果客户端关闭,会自动发送空值给服务器,可以用这个判断客户端关闭;这里当客户端关闭时候,服务器也关闭套接字 # 无法直接发送一个空值 if recv_data: new_socket.send("hello".encode("utf-8")) else: break new_socket.close() if __name__ == "__main__": tcp_server()
原文地址:https://www.cnblogs.com/chenadong/p/10264905.html
时间: 2024-10-09 18:05:15