作者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
推 Yukirin:time.sleep(100) 可以讓程式停在這邊100秒 03/22 17:17
推 NolandTA:無限迴圈可以嗎? 03/22 18:33
→ areyo:嗯,這方法也想過,看來只能這樣,謝謝 03/22 19:05
→ mantour:t = ServerThread(lock,"ServerThread-",s) 03/22 22:04
→ mantour:t.start() 03/22 22:04
推 mantour:t.join() 03/22 22:05
→ mantour:這樣不行嗎@@ 03/22 22:06
→ areyo:原來如此,謝謝你 03/22 22:52