Socket 伺服器(遠端 API)

Warning

這是 實驗性 功能。

Socket 伺服器允許其他程式語言(或遠端機器)透過 TCP 傳送 JSON 指令來使用 AutoControl。

啟動伺服器

import sys
from je_auto_control import start_autocontrol_socket_server

try:
    server = start_autocontrol_socket_server(host="localhost", port=9938)
    while not server.close_flag:
        pass
    sys.exit(0)
except Exception as error:
    print(repr(error))

伺服器在背景執行緒中執行,監聽 JSON 自動化指令。

傳送指令(客戶端)

import socket
import json

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("localhost", 9938))

command = json.dumps([
    ["AC_set_mouse_position", {"x": 500, "y": 300}],
    ["AC_click_mouse", {"mouse_keycode": "mouse_left"}]
])
sock.sendall(command.encode("utf-8"))

response = sock.recv(8192).decode("utf-8")
print(response)
sock.close()

協定細節

屬性

編碼

UTF-8

回應結束標記

Return_Data_Over_JE

關閉伺服器指令

傳送 "quit_server" 以停止伺服器

預設連接埠

9938