91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • Python 網絡編程之TCP客戶端/服務端功能示例【基于socket套接字】

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

發布時間:2020-10-06 23:22:17 來源:腳本之家 閱讀:172 作者:houyanhua1 欄目:開發技術

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

demo.py(TCP客戶端):

import socket
def 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 socket
def 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程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜宾市| 即墨市| 呈贡县| 德保县| 郯城县| 巫山县| 扶风县| 石狮市| 镇坪县| 大埔县| 保德县| 资源县| 五台县| 拉萨市| 确山县| 交城县| 西乌珠穆沁旗| 梅州市| 金阳县| 濉溪县| 桓台县| 万源市| 渝中区| 晋州市| 彭水| 吕梁市| 白沙| 双柏县| 高州市| 新野县| 桦甸市| 伊吾县| 威信县| 敦化市| 固阳县| 东莞市| 莫力| 崇左市| 平顺县| 奉节县| 临猗县|