udp套接字传输特点

可能出现数据丢失的情况,例如recvfrom的字节数很小

传输过程简单,实现容易

数据已数据包的形式表达传输

数据传输效率高

服务端

from socket import *
#创建套接字
udp_socket = socket(AF_INET,SOCK_DGRAM)
#绑定
ip_port = ('192.168.0.143',8888)

udp_socket.bind(ip_port)
#消息传输
while True:
    print("等待接收")
    data,addr = udp_socket.recvfrom(20)
    print("接收到",data.decode())
    udp_socket.sendto(b"Thanks",addr) #英文可以前面加b变成字节byte类型,中文必须encode.

#关闭套接字
udp_socket.close()

 

客户端

from socket import *

udp_socket = socket(AF_INET,SOCK_DGRAM)

#消息传输
server_address = ('192.168.0.143',8888)
while True:
    msg = input(">>")
    if not msg:
        break
    udp_socket.sendto(msg.encode(),server_address)
    data,addr = udp_socket.recvfrom(20)
    print("从服务端接收到:",data.decode())

#关闭套接字
udp_socket.close()

 

posted on 2020-07-06 11:45  知否知否,  阅读(102)  评论(0编辑  收藏  举报