1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| import socket
def run_server(): server = None client = None try: server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(('0.0.0.0', 8080)) server.listen(5) print("服务启动,等待连接...") while True: client, addr = server.accept() print(f"新连接: {addr}") while True: data = client.recv(1024) if not data: break client.sendall(b'[Echo] ' + data) client.close() except KeyboardInterrupt: print("服务关闭") except Exception as e: print(f"异常: {e}") finally: if client: client.close() if server: server.close()
if __name__ == "__main__": run_server()
|