tcp服務器
生活中的電話機
如果想讓別人能更夠打通咱們的電話獲取相應服務的話,需要做以下幾件事情:
-
買個手機
-
插上手機卡
-
設計手機為正常接聽狀態(即能夠響鈴)
-
靜靜的等着別人撥打
tcp服務器
如同上面的電話機過程一樣,在程序中,如果想要完成一個tcp服務器的功能,需要的流程如下:
-
socket創建一個套接字
-
bind綁定ip和port
-
listen使套接字變為可以被動鏈接
-
accept等待客戶端的鏈接
-
recv/send接收發送數據
一個很簡單的tcp服務器如下:
from socket import *# 創建sockettcp_server_socket = socket(AF_INET, SOCK_STREAM)# 本地信息address = ('', 7788)# 綁定tcp_server_socket.bind(address)# 使用socket創建的套接字默認的屬性是主動的,使用listen將其變為被動的,這樣就可以接收別人的鏈接了tcp_server_socket.listen(128)# 如果有新的客戶端來鏈接服務器,那么就產生一個新的套接字專門為這個客戶端服務# client_socket用來為這個客戶端服務# tcp_server_socket就可以省下來專門等待其他新客戶端的鏈接client_socket, clientAddr = tcp_server_socket.accept()# 接收對方發送過來的數據recv_data = client_socket.recv(1024) # 接收1024個字節print('接收到的數據為:', recv_data.decode('gbk'))# 發送一些數據到客戶端client_socket.send("thank you !".encode('gbk'))# 關閉為這個客戶端服務的套接字,只要關閉了,就意味着為不能再為這個客戶端服務了,如果還需要服務,只能再次重新連接client_socket.close()
運行流程:
<1>tcp服務器
接收到的數據為: 你在么?
<2>網絡調試助手:
==================================================================
注:以上課程筆記為學習時整理的老師課堂學習筆記,如需轉載,如需完整筆記,請私聊聯系我。
專題Python每天更新我的學習筆記。以上內容整理與上課筆記,更多詳情查看原文鏈接,我的公眾號干貨持續更新中
原文鏈接:公眾號文章Python開發者交流平台