用python实现TCP协议传输功能(服务端代码)
與客戶端代碼不同(客戶端代碼請看我的上一篇博客),服務端需要綁定端口號,設置監聽服務,多了兩個特殊的步驟,需要兩行新的代碼實現
準備:windows作為客戶端,windows上安裝網絡調試助手,linux作為服務端并且寫好如下代碼,并且查出自己服務端(linux虛擬機)上的ip地址為:
此時運行起來該程序,程序會停止在accept方法這,等待客戶端發送請求,此時打開網絡調試助手:
點擊連接,再返回虛擬機可以看見如下代碼:
復制如下:
(<socket.socket fd=4, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=(‘192.168.52.128’, 9090), raddr=(‘192.168.52.1’, 50036)>, (‘192.168.52.1’, 50036))
此輸出為一個元組,第一個參數是一個新的套接字對象,后面的是來自于哪個ip地址發出的請求,也就是客戶端,此時打開cmd,輸入ipconfig,可以查得本機ip:
注意:此時的套接字對象為新的套接字對象,不再是之前的tcp_server_socket對象,bind(綁定)后的套接字可以理解為被動的套接字,隨時準備接受來自客戶端的消息,可以理解為之前的套接字對象產生一個新的對象去接管新的任務,如果還有客戶端發來新的消息,那么tcp_server_socket又會產生一個新的套接字對象去接管新的任務。
總結
以上是生活随笔為你收集整理的用python实现TCP协议传输功能(服务端代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python实现TCP协议传输功能(客
- 下一篇: 小试用python搭建自己的web服务器