'''自定義執行緒函式'''
def server(tcpclisock, addr):
bufsize = 1024
print('waiting for the connection:', addr)
data = tcpclisock.recv(bufsize).decode()
filename = data.split()[1]
filename = filename[1:]
'''當網路質量差沒有收到瀏覽器的訪問資料時執行'''
if filename == "":
tcpclisock.close()
print("請輸入要訪問的檔案")
base_dir = os.getcwd()
file_dir = os.path.join(base_dir,filename)
'''當訪問的檔案在本地伺服器存在時執行'''
'''主函式'''
if __name__ == '__main__':
'''分配ip、埠、建立套接字物件'''
addr = ("", 8080)
tcpsersock = socket(af_inet, sock_stream)
tcpsersock.bind(addr)
tcpsersock.listen(5)
print("waiting for connection......\n")
while true:
tcpclisock, addr = tcpsersock.accept()
thread = threading.thread(target=server, args=(tcpclisock, addr))
thread.start()
tcpsersock.close()
-在瀏覽器中輸入http://localhost:8080/success.html 因為success.html檔案在本地伺服器存在所以可以返回success.html頁面
-在瀏覽器中輸入http://localhost:8080/index.html 因為index.html檔案在本地伺服器不存在所以可以返回fail.html頁面
d:\anaconda\python.exe "c:/users/administrator/desktop/傳輸與交換技術作業/web多執行緒伺服器/web server.py"
python多執行緒實現
資料夾命名不能用官方已有的模組名比如threading.py test.py等等都會報錯 from multiprocessing import process import os 子程序要執行的 def run proc name print run child process s s name,...
python多執行緒實現
coding utf 8 import threading 匯入執行緒模組 from time import ctime,sleep 建立執行緒事件 defeat print 我在吃東西 s ctime 執行緒組 threads 建立執行緒數量 for x in range 10 t1 thread...
python多執行緒執行緒池實現
在python中多執行緒可以使用threading來實現,但實際使用時考慮效能等,大多會使用到執行緒池,下面就是基於python2和python3來說明下執行緒池的使用。import time def testthread fl time.sleep 1 print print fl return ...