第一次利用python寫一個簡單的html服務器


  今天,我用了三個小時去寫一個簡單的html服務器。 整個過程也算是很艱辛吧,因為自己的python基礎不是很好,並且還要接觸很多新的庫的用法,我記得當時socket(套接字)的用法我看了很多老師的視頻,不過結局還好吧。

  我現在將我寫的整個過程的思路寫一下:

  1、創建套接字

  這個在我看來是最近關鍵的,因為之前我接觸python時沒有接觸過套接字,其中的用法我也不是很清楚,經過很長時間的百度,我查到tcp和dcp,其中我主要了解到的是tcp,因為現在的各種聊天工具,以及各大服務器都在使用tcp。它在服務器和客戶端之間起一個非常關鍵的作用。

  2、鏈接服務器

  3、發送數據\接收數據

  4、關閉套接字

  總體上大致就分為以上幾個步驟吧,當這個程序運行成功時,我真的很開心,所以才想記錄一下現在的心情。

其代碼如下:

 1 import socket
 2 
 3 def service_client(new_socket):
 4     #接收瀏覽器的請求
 5 
 6     request = new_socket.recv(1024)
 7     print(request)
 8     #利用http協議給瀏覽器返回數據
 9 
10     response = "HTTP/1.1 200 OK\r\n"
11     response += "\r\n"
12     response += "<h1>I love you<h1>"
13 
14     new_socket.send(response.encode("utf-8"))
15 
16     new_socket.close()
17 
18 
19 def main():
20     #創建套接字
21     tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
22 
23     #綁定
24     tcp_server_socket.bind(("",7890))
25 
26     #變為監聽套接字
27     tcp_server_socket.listen(128)
28 
29     while True:
30         #等待新客戶端的鏈接
31         new_socket,client_addr = tcp_server_socket.accept()
32 
33         #為這個客戶服務
34         service_client(new_socket)
35     tcp_server_socket.close()
36 
37 
38 
39 if __name__ =="__main__":
40     main()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM