tôi đã phát triển một kịch bản python sikuli trên cửa sổ có sử dụng mã này:.sendto() phương pháp trên kịch bản python sikuli không hoạt động trên cửa sổ
from socket import AF_INET, SOCK_DGRAM
import sys
import socket
import struct, time
host = "pool.ntp.org"
port = 123
buf = 1024
address = (host,port)
msg = '\x1b' + 47 * '\0'
# reference time (in seconds since 1900-01-01 00:00:00)
TIME1970 = 2208988800L # 1970-01-01 00:00:00
# connect to server
client = socket.socket(AF_INET, SOCK_DGRAM)
client.sendto(msg, address)
msg, address = client.recvfrom(buf)
t = struct.unpack("!12I", msg)[10]
t -= TIME1970
current_time = time.ctime(t).replace(" "," ")
Mã này đang làm việc tốt dưới Linux hoặc trong một kịch bản python trên cửa sổ, nhưng nếu tôi sử dụng mã này trên sikulix trên cửa sổ nó bị treo (tại dòng =>client.sendto (msg, địa chỉ)) với các lỗi sau:
[error] script [ Sikuli_Test_Original ] stopped with error in line 23
[error] _socket.error ([Errno -1] Unmapped exception: java.util.concurrent.RejectedExecutionException: event executor terminated)
[error] --- Traceback --- error source first line: module (function) statement 359: _socket (handle_exception) _socket.error: [Errno -1] Unmapped exception: java.util.concurrent.RejectedExecutionException: event executor terminated
995: _socket (sendto) File "C:\Users\myuser\Documents\Sikuli\sikulix.jar\Lib\_socket.py", line 971, in _datagram_connect
[error] --- Traceback --- end --------------
Bất cứ ý tưởng tại sao và làm thế nào để sửa chữa nó ?
Từ các bản ghi lỗi tôi đã có ấn tượng rằng sikuli cố gắng sử dụng _socket.py riêng của mình và không phải là một hệ thống – user3472065
Bạn đang sử dụng cùng một phiên bản sikuli trên cả hai hệ thống? –
có, phiên bản mới nhất của sikulix – user3472065