python網路程式設計

2021-08-27 20:47:59 字數 1935 閱讀 3759

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...