使用多線程,下面的代碼,簡單實現壹個多線程的web服務器:
#coding=utf-8import?socket
import?threading
from?time?import?sleep
def?response(sock,?addr):
print?"收到請求"
data?=?sock.recv(1024)
print?data
sock.send(html)
sock.close()
html?=?'''HTTP/1.1?200?OK\nContent-Type:?text/html\n\r\nHello?world!'''
s?=?socket.socket(socket.AF_INET,?socket.SOCK_STREAM)
s.bind(('0.0.0.0',?80))
s.listen(50)
print?"正在等待連接……"
while?1:
sleep(0.1)
sock,addr?=?s.accept()
t?=?threading.Thread(target=response,?args=(sock,addr))
t.start()