2017-11-12 109 views
8

pencerelerde çalışmaz:.sendto() metodu bu kodu kullanan ben pencerelerde bir sikuli piton kodu geliştirdi

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(" "," ") 

kod linux altında veya üstünde bir python komut dosyası iyi çalışıyor

[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 -------------- 

herhangi bir fikir neden ve nasıl düzeltileceğini: Ben pencerelerde sikulix bu kodu kullanırsanız pencere, ancak aşağıdaki hata ile (hattında =>client.sendto (msg, adres)) çöküyor ?

+0

Bir – user3472065

+0

Aynı sikuli sürümünü üzerinde kullanıyorsunuz sikuli kendi _socket.py kullanmaya çalıştı izlenimi değil sistemi vardı her iki sistemde? –

+0

evet, sikulix'in son sürümü – user3472065

cevap

0

Senin sorunun Jython ile nasıl Sikuli interops tartışırken (ve bir Jython böcek gibi görünüyor) bu iplik çözülmüş görünüşte tartışılmış ve:

https://bugs.launchpad.net/sikuli/+bug/1464105 ben çözümü kontrol; Bu kod, Windows 10'da, SikuliX IDE içinden çalışır. Üst eklenmiştir başlatma başlığındaki temelde de hile: Hata kayıtlarından

import sys, _socket 
from socket import AF_INET, SOCK_DGRAM 
if _socket.NIO_GROUP.isShutdown(): 
    print "RE-CREATING NIO_GROUP" 
    _socket.NIO_GROUP = _socket.NioEventLoopGroup(2, _socket.DaemonThreadFactory("PyScan-Netty-Client-%s")) 
    sys.registerCloser(_socket._shutdown_threadpool) 
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 
print "Before socket operation" 
# connect to server 
client = socket.socket(AF_INET, SOCK_DGRAM) 
client.sendto(msg, address) 
print "After socket operation" 
msg, address = client.recvfrom(buf) 
t = struct.unpack("!12I", msg)[10] 
t -= TIME1970 

current_time = time.ctime(t).replace(" "," ") 
print current_time