python網路程式設計 之udp通訊

2022-05-26 03:12:08 字數 1852 閱讀 1535

#

encoding=utf-8

#ss = socket() # 建立乙個伺服器套接字

#ss.bind() # 繫結伺服器套接字

#inf_loop: # 伺服器無限迴圈

#cs = ss.recvfrom()/ss.sendto() # 對話(接收與傳送)

#ss.close() # 關閉伺服器套接字

#建立乙個能接收客戶的訊息,在訊息前加乙個時間戳後返回的 udp 伺服器

from socket import *

from time import

ctime

host = ''

port = 21567bufsiz = 1024addr =(host,port)

udpserversock =socket(af_inet,sock_dgram)

udpserversock.bind(addr)

while

true:

print

'waiting for message

'data,addr2 =udpserversock.recvfrom(bufsiz)

#s.recvfrom(bufsize[.flag])

#接受udp套接字的資料。與recv()類似,但返回值是(data,address)。

#其中data是包含接收資料的字串,address是傳送資料的套接字位址。

print

'received from

',addr2

udpserversock.sendto(

'[%s] %s

' %(ctime(),data),addr2)

#s.sendto(string[,flag],address)

#傳送udp資料。將資料傳送到套接字,

#address是形式為(ipaddr,port)的元組,指定遠端位址。返回值是傳送的位元組數。

print

'send to

',addr2

udpserversock.close()

cs = socket() # 建立客戶套接字

comm_loop: # 通訊迴圈

cs.sendto()/cs.recvfrom() # 對話(傳送/接收)

cs.close() # 關閉客戶套接字

#

encoding=utf-8

#cs = socket() # 建立客戶套接字

#comm_loop: # 通訊迴圈

#cs.sendto()/cs.recvfrom() # 對話(傳送/接收)

#cs.close() # 關閉客戶套接字

#建立乙個 udp 客戶端,程式會提示使用者輸入要傳給伺服器的資訊,顯示伺服器返回的加了時間

#戳的結果。

from socket import *host = '

localhost

'port = 21567bufsiz = 1024addr =(host,port)

udpclientsock =socket(af_inet,sock_dgram)

while

true:

data = raw_input('

>')

ifnot

data:

break

udpclientsock.sendto(data,addr)

data,addr =udpclientsock.recvfrom(bufsiz)

ifnot

data:

break

print

data

udpclientsock.close()

Python網路程式設計之UDP

udp處理資料報,是一種無連線的協議 伺服器端 server socket.socket socket.af inet,socket.sock dgram 繫結ip server.bind 192.168.1.104 221 while true 接收 data,address server.rec...

網路基礎篇 socket網路程式設計之UDP通訊

udp和tcp的區別 udp是無連線的 不可靠的資料協議報,而tcp是面向連線的,提供可靠的位元組流。然而,有些情況更適合用udp而不是tcp。有些流行的應用程式就是用udp實現的 dns 網域名稱系統 nfs 網路檔案系統 和snmp 簡單網路管理協議 還有就是qq也是使用的udp。udp和tcp...

Python 網路程式設計之 UDP 協議

tcpudp 連線性面向連線 面向無連線 傳輸可靠性 可靠不可靠 傳輸模式 流資料報 應用場景 傳輸大量的資料 少量資料速度慢 快tcp tcp 的可靠體現在傳輸資料之前,會有三次握手來建立連線。在資料傳完後,還會斷開連線用來節約系統資源。在資料傳遞時,有確認機制 重傳機制 擁塞控制機制以保證傳輸的...