實現UDP客戶端

2021-09-19 05:30:48 字數 1047 閱讀 8342

『』『實現udp客戶端』』』

1、基於連線和無連線

2、對系統資源的要求(tcp多,udp少)

3、udp程式結構較簡單

4、流模式與資料報模式

5、tcp保證資料準確性,udp可能丟包,tcp保證資料順序,udp不保證

import socket

if __name__ == '__main__':

#1.建立udp客戶端,建立套接字

udp_socket = socket.socket(socket.af_inet,socket.sock_dgram)
#繫結埠

udp_socket.bind(('',6600))
#』'表示本機任何位址都可以,防止出現多個網絡卡ip問題

#第乙個引數表示位址型別,用於internet之間的程序通訊

#第二個引數表示的是傳輸協議udp

#2.使用套接字進行收發資料

str_input = input('請輸入資料:')

udp_socket.sendto(str_input.encode('utf-8'),('192.168.159.128',8080))

data,adress_info = udp_socket.recvfrom(1024)

data = data.decode('utf-8')

print(data)

print(adress_info)

#3.套接字關閉

udp_socket.close()
udp 的通訊過程與 tcp 相比較為簡單,不需要複雜的三次握手與四次揮手,體現了無連線;

udp 傳輸速度比 tcp 快,但容易丟包、資料到達順序無保證、缺乏擁塞控制、秉承盡最大努力交付的原則,體現了不可靠;

udp 的無連線與不可靠特性注定無法採用位元組流的通訊模式,由協議名中的「datagram」與 socket 型別中的「sock_dgram」即可體現它基於資料報的通訊模式。

使用swoole實現udp客戶端

udp客戶端 co run function n 關閉已有socket client close 重試 client connect 127.0.0.1 19501 獲取連線狀態,true為已經連線到伺服器,false未連線到伺服器 client isconnected 傳送資料,當為true時表示...

UDP通訊(客戶端)

根據網上的資源修改的 include include include pragma comment lib,ws2 32.lib int client void int main int argc,char argv int client void local.sin family af inet ...

udp服務端 客戶端

個數 2的16次方 埠是資料發出或接收的入口 埠的目的 通過埠號找到對應的程序,完成資料的通訊 著名埠0 1023 這是建立了乙個基於udp協議的服務端 import socket todo 1.0 建立了乙個套接字,用來連線客戶端,傳送與接收資料 udp server socket.socket ...