作者areyo (没有名字的怪物)
看板Python
标题[问题] 如何让程式等待
时间Fri Mar 22 17:04:57 2013
请教一下,我想写个Server用执行绪去处理连线
那麽主程序除了用raw_input()
让它一直等在那之外,有其它方式吗??
谢谢
import socket,hashlib
import thread, time, threading
class ServerThread(threading.Thread):
def __init__(self,lock,threadName,ServerSocket):
super(ServerThread,self).__init__(name=threadName)
self.lock=lock
self.Socket=ServerSocket
def run(self):
global count
shaAnswer=""
self.lock.acquire()
print "Thread"
while 1:
client,address=self.Socket.accept()
data=client.recv(512)
data=data.strip('\x00')
ShaResult=hashlib.sha1(data).hexdigest()
client.send(ShaResult)
client.close()
self.lock.release()
if __name__ == '__main__':
count=0
lock=thread.allocate_lock()
host = ''
port = 7779
backlog = 5
size = 1024
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host,port))
print "listen"
s.listen(backlog)
print "go to loop"
ServerThread(lock,"ServerThread-",s,).start()
raw_input()
s.close()
--
生命是个过程
可悲的是它不能重来
可喜的是它也不需要重来
~~~童梦奇缘~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.191.91
1F:推 Yukirin:time.sleep(100) 可以让程式停在这边100秒 03/22 17:17
2F:推 NolandTA:无限回圈可以吗? 03/22 18:33
3F:→ areyo:嗯,这方法也想过,看来只能这样,谢谢 03/22 19:05
4F:→ mantour:t = ServerThread(lock,"ServerThread-",s) 03/22 22:04
5F:→ mantour:t.start() 03/22 22:04
6F:推 mantour:t.join() 03/22 22:05
7F:→ mantour:这样不行吗@@ 03/22 22:06
8F:→ areyo:原来如此,谢谢你 03/22 22:52