Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-pygame通过线程获取鼠标位置_Python_Sockets_Multithreading - Fatal编程技术网

python-pygame通过线程获取鼠标位置

python-pygame通过线程获取鼠标位置,python,sockets,multithreading,Python,Sockets,Multithreading,我已经做了一个服务器-客户端程序,我有我的主循环,在那里我将客户端的图像发送到服务器。这个循环很慢,所以我在while-True循环之前打开了一个线程 线程将光标的位置从服务器发送到客户端。 问题是它只获得第一个位置,然后保持它。比如: (192,500) (192,500) (192,500) (192,500) (192,500) ... 不管我的光标是否移动。 我已经试过了: for event in pygame.event.get(): pass pos = pygame.mo

我已经做了一个服务器-客户端程序,我有我的主循环,在那里我将客户端的图像发送到服务器。这个循环很慢,所以我在while-True循环之前打开了一个线程

线程将光标的位置从服务器发送到客户端。 问题是它只获得第一个位置,然后保持它。比如: (192,500) (192,500) (192,500) (192,500) (192,500) ... 不管我的光标是否移动。 我已经试过了:

for event in pygame.event.get():
    pass
pos = pygame.mouse.get_pos()
但它只在没有线程的情况下工作。 线程中的某些内容似乎无法从实际的主程序与屏幕进行通信

服务器线程功能:

def mouseControl(Socket):
while True:                                      
    pos = pygame.mouse.get_pos()
    Socket.send(str(pos[0])+" "+str(pos[1]))
    a = Socket.recv(1024)
客户端线程功能:`

def mouseControl(Socket):
while True:
    pos = Socket.recv(1024)
    pos=pos.split()
    x,y = int(pos[0]),int(pos[1])
    win32api.SetCursorPos((x,y))
    Socket.send("Allright")
我无法使用win32api.getCursorPos(),因为我需要另一台计算机屏幕的相对位置。 有解决办法吗