Python tcp编程,TCP服务端和TCP客户端代码编写
生活随笔
收集整理的這篇文章主要介紹了
Python tcp编程,TCP服务端和TCP客户端代码编写
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python網絡編程
兩種模式:
一種tcp可靠連接,能夠保證數據不丟失
一種udp 不關心數據是否會丟失,在乎傳輸效率
TCP編程
一點:服務端
二點:客戶端
客戶端如何連接服務端,保證傳輸的數據可靠呢?
第一次握手:客戶端發送報文,連接服務端
第二次握手:服務端發送報文,你可以連接
第三次握手:客戶端發送確認報文,我真的要連接
服務端的編寫:
java:socketServer(ip,port)
Python:socket.socket()
tcp的服務端和客戶端的案例
服務端:
客戶端:
""" 1、創建一個socket連接,得到一個client端 2、連接服務器 知道服務器的ip地址和端口號 3、獲取數據,并打印出來 """ import socket#1、創建一個socket連接,得到一個client端 import timesocket_client = socket.socket(family=socket.AF_INET,type=socket.SOCK_STREAM)#2、連接服務器 知道服務器的ip地址和端口號 socket_client.connect(("127.0.0.1",8888)) data = socket_client.recv(1024) # 將字節數組轉換成 字符串的兩種方式 # 1,在服務端發送數據的時候,可以將將字符串轉成bytes #(1):調用對象的 str.encode('utf-8') #(2): bytes(value,encoding="utf-8") # 2,在客戶端接受數據的是,將bytes轉成字符串 #(1)調用對象的 str.decode('utf-8') #(2)str(data,encoding='utf-8') print(data.decode("utf-8")) print(str(data,encoding="utf-8"))#發送數據到服務端,發過去之后,在tcp_server.py中又,重新發過來,在客戶端又接收到 for item in ["aaaa","bbbbbbbbbbbbbb","ccccccccccccccc","發送一下數據"]:time.sleep(1)socket_client.send(item.encode("utf-8"))while True:data = socket_client.recv(1024)if data == b"":continueprint("-----------客戶端start--------")print(data.decode("utf-8"))print("-----------客戶端end----------")右鍵運行服務端和客戶端,運行結果是:
客戶端代碼:
總結
以上是生活随笔為你收集整理的Python tcp编程,TCP服务端和TCP客户端代码编写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 营地房车应该怎么选?
- 下一篇: python创建线程