tcp基於連線傳送資料,udp無需連線就可以傳送資料
tcp安全,會重傳資料報,udp不安全,傳送完就不再理會
tcp傳送速度慢,udp傳送速度快
服務端tcp和udp
# tcp服務端
import socket
# socket.af_inet表示位址格式是ipv4,socket.sock_stream表示通訊協議是tcp
tcpserversocket = socket.socket(socket.af_inet,socket.sock_stream)
# 設定區域網內服務位址為10.20.154.92,埠號為6666
tcpserversocket.bind(("10.20.154.92",6666))
tcpserversocket.listen(5)
client,add=tcpserversocket.accept()
while true:
# 設定訊息接受最大長度為1024
msg = client.recv(1024)
print("客戶端傳送訊息為:",msg.decode())
# client.send可以將訊息傳遞歸客戶端
client.send("伺服器收到了你發來的訊息".encode())
tcpserversocket.close()
# udp服務端
import socket
ssk = socket.socket(socket.af_inet,socket.sock_dgram)
ssk.bind(("10.20.154.92",6666))
while true:
msg,address = ssk.recvfrom(1024)
print(("客戶端:%s說:%s")%(address,msg.decode()))
# 引數是,(傳送給客戶端的資料,客戶端位址)
msg1 = input("伺服器說:")
# 此處是指給傳送訊息過來的客戶端回傳訊息,所以加上引數address
ssk.sendto(msg1.encode(),address)
ssk.close()
客戶端udp和tcp
# tcp客戶端
import socket
clientsockte = socket.socket(socket.af_inet,socket.sock_stream)
# 客戶端主動連線伺服器
clientsockte.connect(("10.20.154.92",6666))
print("客戶端連線伺服器..........")
while true:
msg = input("請輸入你要說的話")
# 傳送資料變成二進位制傳遞過去
clientsockte.send(msg.encode())
# 接收伺服器返回的資料,最大為1024
rec = clientsockte.recv(1024)
print("伺服器返回:",rec.decode())
clientsockte.close()
# udp客戶端
import socket
cls = socket.socket(socket.af_inet,socket.sock_dgram)
while true:
# 傳送
msg = input("客戶端說:")
cls.sendto(msg.encode(),("10.20.154.92",6666))
msg2,address = cls.recvfrom(1024)
print("伺服器說:",msg2.decode())
# 接受
python網路程式設計 TCP網路程式設計
tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...
python 網路程式設計
今天晚上學習了一下python的網路程式設計,實現了client向server傳送資料,server反饋資訊 python 3.3 版本 server from socket import class tcpserver object def init self,serverport self.se...
python網路程式設計
網路通訊是計算機之間的程序之間的通訊。tcp程式設計 tcp連線建立是雙向通道,客戶端與服務端都可以給對方傳送資料。建立tcp連線時,主動發起連線的叫客戶端,被動響應連線的叫服務端。建立乙個tcp的socket連線 用socket family,type 建立套接字獲得socket物件。family...