当我想访问int(COORDINATES 2)时,这不起作用。我该如何解决?我试图访问它现在已经成为全球范围内线程不工作我该如何解决这个问题?
import socket
import os,sys
import time
from threading import Thread
HOST = '59.191.193.59'
PORT = 5555
COORDINATES = []
def connect():
globals()['client_socket'] = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST,PORT))
def update_coordinates():
connect()
screen_width = 0
screen_height = 0
while True:
try:
client_socket.send("loc\n")
data = client_socket.recv(8192)
except:
connect();
continue;
globals()['COORDINATES'] = data.split()
if(not(COORDINATES[-1] == "eom" and COORDINATES[0] == "start")):
continue
if (screen_width != int(COORDINATES[2])):
screen_width = int(COORDINATES[2])
screen_height = int(COORDINATES[3])
Thread(target=update_coordinates).start()
while True:
print 'ball x' , int(COORDINATES[2])
这个座标是我得到
的错误,如果我我的代码改成这样:
import socket
import os,sys
import time
from threading import Thread
HOST = '59.191.193.59'
PORT = 5555
COORDINATES = []
def connect():
globals()['client_socket'] = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((HOST,PORT))
def update_coordinates():
connect()
screen_width = 0
screen_height = 0
while True:
try:
client_socket.send("loc\n")
data = client_socket.recv(8192)
except:
connect();
continue;
globals()['COORDINATES'] = data.split()
if(not(COORDINATES[-1] == "eom" and COORDINATES[0] == "start")):
continue
if (screen_width != int(COORDINATES[2])):
screen_width = int(COORDINATES[2])
screen_height = int(COORDINATES[3])
print int(COORDINATES[8])
Thread(target=update_coordinates).start()
这就是我得到的:
这会帮助,如果你可以发布你得到的错误。 –
@ user1474837已经编辑了这个问题,你现在可以看看它 – Edward
我没有看到一个错误 - 它看起来像你的脚本挂了,没有回来。你可以Ctrl-C来停止脚本吗? –