2017-11-12 10 views
8

मैं खिड़कियों पर एक sikuli अजगर स्क्रिप्ट विकसित पर काम नहीं करता है कि इस कोड का उपयोग करता है:.sendto() sikuli अजगर स्क्रिप्ट पर विधि खिड़कियों

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

कोड ठीक linux के नीचे या पर एक अजगर स्क्रिप्ट में काम कर रहा है

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

किसी भी विचार क्यों और इसे ठीक करने के लिए कैसे: खिड़कियां, लेकिन अगर मैं खिड़कियों पर sikulix पर इस कोड का उपयोग यह (लाइन पर =>client.sendto (संदेश, पते)) निम्न त्रुटि के साथ दुर्घटनाओं ?

+0

त्रुटि लॉग से मैं धारणा है कि sikuli अपनी ही _socket.py का उपयोग करने की कोशिश की और नहीं प्रणाली था एक – user3472065

+0

आप एक ही sikuli संस्करण पर प्रयोग कर रहे हैं दोनों प्रणालियों? –

+0

हां, सिकुलिक्स – user3472065

उत्तर

0

आपकी समस्या पर विचार विमर्श किया और जाहिरा तौर पर Jython के साथ चर्चा कैसे Sikuli interops (और यह एक Jython बग की तरह लगता है) इस सूत्र में हल किया गया था: https://bugs.launchpad.net/sikuli/+bug/1464105

मैं समाधान जाँच की; यह कोड विंडोज 10 पर सिक्युलिक्स आईडीई के भीतर से मेरे लिए काम करता है। शीर्ष पर जोड़ा प्रारंभ शीर्षक में मूल रूप से में चाल:

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 
संबंधित मुद्दे