python之socket编程(UDP感性认识)

需要掌握:UDP协议

概述

本文通过最简单的代码,让初学者体验python开发UDP通信

感性认识

接收端

import socket

udp=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#绑定ip、port
udp.bind(('0.0.0.0',8000))
print('绑定本机8000端口,开始接收数据...')
data,addr=udp.recvfrom(1024)
print(data,addr)
udp.close()

发送端

import socket

udp=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp.sendto(b'test',('127.0.0.1',8000))
udp.close()

先执行接收端,然后执行发送端,接收端结果如下:

注意:

  1. 截图可知,发送端的端口每次都不一样,操作系统分配的端口是动态的(都是大于1024的),也就是动态端口

  2. 不能同时执行2次接收端,会提示错误,如下:

    OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
    

    一个端口只能绑定一次


原文出处:/show_1EF2zev9YdnI.html