python的udp使用socket发送数据
udp发送数据实例
编写代码如下
import socket
#创建udp的套接字
udp_socket = socket.socket(socket.AF_INET, SOCK_DGRAM)
#套接字功能
# sendto函数参数: 数据, (ip, 端口)
udp_socket.sendto(b"hello, udp", ("192.168.7.2", 8080))
#关闭套接字
s.close()
运行此代码, 即可发送数据
重要说明
- 发送的数据, 应该是字节类型, 而不能是字符串
- 确保发送到的ip是可到达的, 可以先使用ping ip测试
- 目标主机需要监听该端口, 才可以获取当前发送的数据
其他提示,
- b”字符串”, 表示把字符串转换为字节
- “字符串”.encode(“utf-8”)可以把字符串编码为utf-8可以发送中文
- 同一个网络号下的主机, 默认在一个局域网内
ps: 发送数据时, 可以使用socked.bind()函数指定端口, 如果不指定则默认由系统随机分配, 可参考下一小节数据接收, 数据接收时必须先绑定接口