#!/usr/bin/env python3"""
Simple socket server that sends a specific binary response on port 1388.
"""importsocketimportloggingimportsys# 设置日志logging.basicConfig(level=logging.INFO,format='%(asctime)s - %(levelname)s - %(message)s')log=logging.getLogger(__name__)# 待发送的二进制响应BINARY_RESPONSE=b'0%1\x01\x00x\x00\r\x00\x00\x00\x00\x00\x8a\x00\r\x00\x06\x00\r\x00\x00\x00\r\x00\x00\x00\x00\xc7\xc7\xc7\x9b\x80\xeb\x05123456\x00\x03\x00\x00\x00\tcn=d\x00\x10man'PORT=1388defhandle_client(client_socket,client_address):"""处理客户端连接"""try:log.info(f"Client connected from {client_address}")client_socket.send(BINARY_RESPONSE)log.info(f"Sent {len(BINARY_RESPONSE)} bytes to {client_address}")exceptExceptionase:log.error(f"Error handling client {client_address}: {e}")finally:client_socket.close()log.info(f"Connection closed for {client_address}")defrun_server():"""启动服务器"""server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)try:server_socket.bind(('localhost',PORT))server_socket.listen(5)log.info(f"Server listening on port {PORT}")whileTrue:try:client_socket,client_address=server_socket.accept()handle_client(client_socket,client_address)exceptKeyboardInterrupt:breakexceptExceptionase:log.error(f"Error starting server: {e}")sys.exit(1)finally:server_socket.close()if__name__=="__main__":run_server()