python 套接字程式設計之udp

2022-08-03 10:24:08 字數 1752 閱讀 6682

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