socket實驗 簡單web伺服器

2021-10-23 05:08:13 字數 2077 閱讀 9418

開始補網路的欠賬…

這個也是《計算機網路—自頂向下方法》的實驗二,後面還有多執行緒伺服器。

這個伺服器程式採取的傳輸層協議是tcp,tcp和udp的區別就不贅述了,在socket程式設計上也有區別體現。

區域網ip的獲取方法:

終端命令:ifconfig | grep "inet"

serverport = 12000 #伺服器需要指定埠號,客戶端不用,os會自動分配埠號

serversocket = socket(af_inet,sock_stream)

serversocket.bind(('',serverport)) #將socket和埠繫結

serversocket.listen(1)

#fill in end

while true:

#establish the connection

print('ready to serve...' )

connectionsocket, addr = serversocket.accept()

try:

message = connectionsocket.recv(1024)

filename = message.split()[1] #獲取客戶端想獲取的檔名

except ioerror: #檔案不存在傳送404 not found

關於socket.listen:

作用是聆聽來自客戶的tcp最大連線請求,最小為1;

如果是多執行緒web伺服器,listen需要大於1。

結果驗證:

開啟瀏覽器,輸入

連著同乙個wifi的其他終端也可以訪問,4g就不行了。

利用socket程式設計實現簡單的web伺服器

本博文主要利用socket 程式設計,實現簡單的web伺服器,客戶端能正常訪問這個伺服器 接收資訊,返回響應 file path self.parse request new client socket,ip port if file path file path index.html respon...

實驗四 Web伺服器1 socket程式設計

基於華為鯤鵬雲伺服器centos中 或ubuntu 使用linux socket實現 1.time伺服器的客戶端伺服器,提交程式執行截圖 2.echo伺服器的客戶端伺服器,提交程式執行截圖,伺服器把客戶端傳進來的內容加入 伺服器程序pid 你的學號 姓名 echo 返回給客戶端 3.伺服器部署到華為...

實驗四 Web伺服器1 socket程式設計

基於華為鯤鵬雲伺服器centos中 或ubuntu 使用linux socket實現 1.time伺服器的客戶端伺服器,提交程式執行截圖 2.echo伺服器的客戶端伺服器,提交程式執行截圖,伺服器把客戶端傳進來的內容加入 伺服器程序pid 你的學號 姓名 echo 返回給客戶端 3.伺服器部署到華為...