使用udp協議
服務端:
#!/usr/bin/python3
#coding:utf-8
#auther:alphapanda
#description:udp服務端
#version:1
#date:mon dec 2 03:24:46 est 2019
### 服務端
import
socket
#1 建立udp物件 tpye = sock_dgram 代表udp協議
sk = socket.socket( type =socket.sock_dgram )
#2 繫結ip和埠(在網路中註冊主機,讓其他的伺服器可以找到該主機)
sk.bind(("
127.0.0.1
",9000))
#3 收發資料的邏輯
"""udp的服務端,第一次只能接收資料
"""while
true:
msg,cli_addr = sk.recvfrom(1024)
print(msg.decode("
utf-8"))
message = input("
server:>>>")
if message == "q"
:
break
else
: sk.sendto(message.encode(
"utf-8
"),cli_addr)
#4 關閉udp連線
sk.close()
客戶端:
#!/usr/bin/python3
#coding:utf-8
#auther:alphapanda
#description:udp客戶端
#version::1
#date:mon dec 2 03:28:23 est 2019
"""import socket
sk = socket.socket( type = socket.sock_dgram)
sk.sendto("hello".encode("utf-8"),("127.0.0.1",9000))
msg,dest_addr = sk.recvfrom(1024)
print(msg.decode("utf-8"))
sk.close()
"""#
匯入模組
import
socket
#生成udp型別的套接字物件
sk = socket.socket( type =socket.sock_dgram )
#邏輯判斷,收發資料的**
while
true:
message = input("
client:>>>")
if message == "q"
:
break
else
: sk.sendto(message.encode(
"utf-8
"),("
127.0.0.1
",9000))
msg,ser_addr = sk.recvfrom(1024)
print(msg.decode("
utf-8"))
#關閉udp連線
sk.close()
UDP套接字程式設計
與面向連線的協議相比,面向無連線協議極為不同。其中乙個重要的不同點就是客戶端與伺服器之間不必建立連線。對於udp套接字程式設計而言,伺服器建立套接字後,呼叫bind 函式將套接字與準備接收資料的介面繫結在一起。和tcp程式設計不同的是,應用程式不必呼叫listen 和accept 函式等待客戶端的連...
UDP套接字程式設計
udp是使用者資料報協議,與tcp協議一樣,在網路中處理資料報,是一種無連線的傳輸層協議,具有不可靠性,udp有不提供資料報分組 組裝和不能對資料報進行排序的缺點,也就是說,當報文傳送之後,是無法得知其是否安全完整到達的。基於udp的客戶端伺服器 伺服器 include include includ...
python 套接字程式設計之tcp
服務端和客戶端。服務端指令碼 auther alphapanda description server version 1 date mon dec 2 09 02 01 est 2019 服務端 import socket 1 建立乙個socket物件,預設按照tcp協議建立 sk socket....