Socket Server API
je_web_runner.utils.socket_server.web_runner_socket_server
Class: TCPServerHandler
class TCPServerHandler(socketserver.BaseRequestHandler):
"""
Request handler for the WebRunner TCP server.
Receives UTF-8 encoded JSON action strings (max 8192 bytes),
executes them via execute_action(), and returns results.
Special command: "quit_server" shuts down the server.
Response protocol:
- Each result is sent as UTF-8 followed by newline
- Final message: "Return_Data_Over_JE\n"
"""
Class: TCPServer
class TCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
"""
Multi-threaded TCP server.
Attributes:
close_flag (bool): Set to True when server receives shutdown command.
"""
Function: start_web_runner_socket_server
def start_web_runner_socket_server(host: str = "localhost", port: int = 9941) -> TCPServer:
"""
Start the WebRunner TCP Socket Server in a background daemon thread.
Host and port can be overridden via sys.argv:
- 1 arg: host
- 2 args: host, port
:param host: server host (default: "localhost")
:param port: server port (default: 9941)
:return: TCPServer instance (already serving)
"""