寫乙個簡單的python服務,可以通過http請求訪問該服務。
# coding:utf-8
import socket # 匯入socket包
# multiprocessing包是python中的多程序管理包
# 在 multiprocessing 中,通過建立 process 物件然後呼叫其 start() 方法來生成程序。 process 遵循 threading.thread 的api。多程序程式的乙個簡單例子是
from multiprocessing import process
# 定義客戶端處理函式
defhandle_client
(client_socket):
"""處理客戶端請求"""
# 獲取客戶端請求資料
request_data = client_socket.recv(1024) #接收tcp資料,資料以字串形式返回。指定要接收的最大資料量為1024位元組
print("request data:", request_data) #列印客戶端請求的資料
# 構造響應資料
client_socket.send(bytes(response, "utf-8")) # 向客戶端返回響應資料
client_socket.close()# 關閉客戶端連線
if __name__=="__main__":
server_socket = socket.socket(socket.af_inet, socket.sock_stream) # 建立tcp socket對像
server_socket.bind(("", 8000)) # 將套接字繫結到位址和埠,在af_inet下,以tuple(host, port)的方式傳入,如s.bind((host, port))
server_socket.listen(120) # 開始監聽tcp傳入連線,backlog指定在拒絕鏈結前,作業系統可以掛起的最大連線數,該值最少為1,大部分應用程式設為5就夠用了
while
true:
client_socket, client_address = server_socket.accept() # accept()方法接受tcp鏈結並返回(conn, address),其中conn是新的套接字物件,可以用來接收和傳送資料,address是鏈結客戶端的位址。
print("[%s, %s]使用者連線上了" % client_address) # 列印連線的客戶端的ip作為提示資訊
# process([group [, target [, name [, args [, kwargs]]]]]),target表示呼叫物件,args表示呼叫物件的位置引數元組。kwargs表示呼叫物件的字典。name為別名。group實質上不使用。
handle_client_process = process(target=handle_client, args=(client_socket,))
handle_client_process.start()# 啟動程序
client_socket.close() #關閉socket
執行後在瀏覽器輸入:127.0.0.1:8000
python寫乙個服務 Python寫乙個服務
coding utf 8 import json from urllib.parse import parse qs from wsgiref.server import make server 定義函式,引數是函式的兩個引數,都是python本身定義的,預設就行了。定義檔案請求的型別和當前請求成功...
用python寫乙個簡單的web伺服器
人生苦短,我用python 簡潔高效,這才是理想的語言啊 分享一點python的學習經驗 如何用python寫乙個簡單的web伺服器 首先,我們需要簡單地了解一下網路通訊協議,這裡用白話介紹一下tcp和udp這兩種傳輸層的協議 tcp 通訊過程之中每次通訊都會進行確認操作,確保報文的安全送達,相當於...
寫乙個簡單web程式
開發簡單 web 服務程式 cloudgo,了解 web 伺服器工作原理。熟悉 go 伺服器工作原理 基於現有 web 庫,編寫乙個簡單 web 應用類似 cloudgo。使用 curl 工具訪問 web程式 對 web 執行壓力測試 課件程式設計 web 服務程式 類似 cloudgo 應用。要求...