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

2021-10-04 20:33:47 字數 3070 閱讀 6933

本博文主要利用socket 程式設計,實現簡單的web伺服器,客戶端能正常訪問這個伺服器

:"""接收資訊,返回響應"""

file_path = self._parse_request(new_client_socket, ip_port)

if file_path ==

"/":

file_path =

"/index.html"

response_data = self._response_request(file_path)

new_client_socket.send(response_data)

new_client_socket.close(

)def

_parse_request

(self, new_client_socket, ip_port)

: request_data = new_client_socket.recv(

1024)if

not request_data:

print

("%s客戶端已下線。。。"

%str

(ip_port)

) new_client_socket.close(

)return

request_text = request_data.decode(

) loc = request_text.find(

"\r\n"

) file_path = request_text[

:loc]

.split()[

1]print

("[%s]正在請求 %s ..."%(

str(ip_port)

, file_path)

)return file_path

def_response_request

(self, file_path)

:try

: resource_path = self.root_path + file_path

with

open

(resource_path,

"rb")as

file

: response_body =

file

.read(

)# 響應客戶端

)在瀏覽器訪問localhost:8080,跳到index.html頁面

訪問localhost:8080/index.html

訪問不存在的頁面,返回404 not found

利用socket實現簡單的TCP網路程式。

在我們編寫程式前,我們需要先了解tcp協議的特點。在了解了tcp協議的特點後,我們就來實現乙個簡單的tcp網路程式。在實現過程中,我們需要用到最重要的東西就是socket套接字。socket 網路上的兩個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端就稱為乙個socket。socket本質...

利用socket介面實現簡單的UDP網路程式。

上次我們進行了tcp網路簡單程式的實現,這次就來實現乙個udp的網路程式。要實現它我們依然要先了解它的特性。與tcp協議相同,udp協議也具有四個特點。client 客戶端 include include include include include include include include...

簡單的socket程式設計

服務端tcp server.c include include include include include include include define port 8888 埠位址 define backlog 2 監聽佇列長度 int main int argc,char argv memse...