国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python 網絡編程之TCP客戶端/服務端功能示例【基于socket套接字

2024-09-09 19:02:12
字體:
來源:轉載
供稿:網友

本文實例講述了Python 網絡編程之TCP客戶端/服務端功能。分享給大家供大家參考,具體如下:

demo.py(TCP客戶端):

import socketdef main():  # 1. 創建tcp的套接字  tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 2. 鏈接服務器  # tcp_socket.connect(("192.168.33.11", 7890))  server_ip = input("請輸入要鏈接的服務器的ip:")  server_port = int(input("請輸入要鏈接的服務器的port:"))  server_addr = (server_ip, server_port)  tcp_socket.connect(server_addr)  # 3. 發送數據/接收數據  send_data = input("請輸入要發送的數據:")  tcp_socket.send(send_data.encode("utf-8"))  # 接收數據。 會阻塞代碼,直到接收到數據  recv_data = tcp_socket.recv(1024) # 1024表示本次接收的最大字節數。  print(recv_data.decode("utf-8"))  # 4. 關閉套接字  tcp_socket.close()if __name__ == "__main__":  main()

demo.py(TCP服務端):

import socketdef main():  # 1. 創建套接字 socket  tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 設置當服務器先close 即服務器端4次揮手之后資源能夠立即釋放,這樣就保證了,下次運行程序時 可以立即綁定7890端口 (如果服務端先close,再啟動服務端就不會報端口被占用的錯誤。)  tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)  # 2. 綁定本機ip和端口號 bind  tcp_server_socket.bind(("", 7890))  # 3. 監聽客戶端的鏈接請求 listen (由主動去鏈接服務器,變成被客戶端鏈接)  tcp_server_socket.listen(128) # 128影響鏈接客戶端的數量(并發量)(和操作系統也有關)  # 4. 接受客戶端的鏈接 accept。 會阻塞代碼,直到有客戶端鏈接  new_client_socket, client_addr = tcp_server_socket.accept()  print(client_addr) # ("192.168.33.109",53766) 客戶端的ip和端口  # 接收客戶端發送過來的數據。 會阻塞代碼,直到接收到數據  recv_data = new_client_socket.recv(1024) # 1024表示本次接收的最大字節數。  print(recv_data.decode("utf-8")) # 如果recv_data為空,表示客戶端斷開鏈接  # 寫數據給客戶端  new_client_socket.send("hahahghai-----ok-----".encode("utf-8"))  # 關閉套接字  new_client_socket.close() # 與客戶端通信的套接字  tcp_server_socket.close() # 服務器套接字if __name__ == "__main__":  main()

更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台北市| 赤城县| 辰溪县| 曲靖市| 綦江县| 门源| 仲巴县| 佛山市| 睢宁县| 沙河市| 来安县| 中牟县| 施秉县| 平塘县| 金昌市| 吴忠市| 固原市| 隆德县| 嘉禾县| 石林| 电白县| 盱眙县| 乌拉特前旗| 喀喇沁旗| 江川县| 信阳市| 苗栗市| 铁力市| 马鞍山市| 大新县| 仁寿县| 方正县| 金平| 曲麻莱县| 滦平县| 县级市| 穆棱市| 宁都县| 榆林市| 盱眙县| 仙游县|