即使服务器不接受我在客户端编写了以下功能的连接,我也在尝试从客户端到服务器端不断地通过时间
def run(self):
print "running client"
start = datetime.now().second
while True:
try:
host ='localhost'
port = 5010
time = abs(datetime.now().second-start)
time = str(time)
print time
client = socket.socket()
client.connect((host,port))
client.send(time)
except socket.error:
pass
现在我在另一个类中,它的名字是 loginGui,我想在线程的帮助下执行上面的全局函数运行,以便客户端在我的其余客户端代码执行时不断地将时间抛出到服务器端。所以我在类 loginGui 中编写了以下代码
class loginGui:
def run_client(self):
thread.start_new_thread(run,())
当我调用上述函数 run_client() 时,线程运行但由于某些原因它退出循环并停止浪费时间,所以我尝试了另一种方法..
class FuncThread(threading.Thread):
def __init__(self, target, *args):
self._target = target
self._args = args
threading.Thread.__init__(self)
def run(self):
self._target(*self._args)
我写了上面的类,然后在 run_client() 函数中我做了以下更改..
def run_client(self):
t1 = FuncThread(run,())
t1.start()
t1.join()
现在,当我调用 run_client() 时,它会创建一个线程并调用全局函数 run() 但现在的问题是它在 while 循环中被击中并不断浪费时间。
结论:我基本上想要的是创建一个线程来调用我的函数运行并不断投入时间而不会陷入while循环..