今天,我用了三個小時去寫一個簡單的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()