本博文主要利用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:
("%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...