Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
作者:houyanhua1 时间:2023-09-23 14:33:28
本文实例讲述了Python 网络编程之UDP发送接收数据功能。分享给大家供大家参考,具体如下:
demo.py(UDP发送数据):
import socket # 导入socket模块
def main():
# 创建一个udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定本机ip和端口号 (发送数据时,如果不绑定,系统会随机分配端口号。接收数据时,一般需要手动绑定ip和端口)
udp_socket.bind(("", 7890)) # 空字符串""表示本地ip
# 从键盘获取数据
send_data = input("请输入要发送的数据:")
# 可以使用套接字接收和发送数据
# udp_socket.sendto(b"hahahah", ("192.168.33.53", 7788)) # 字符串前的b表示bytes字节类型
udp_socket.sendto(send_data.encode("utf-8"), ("192.168.33.53", 7788)) # encode将字符串转成bytes类型
# 关闭套接字
udp_socket.close()
if __name__ == "__main__":
main()
demo.py(UDP接收数据):
import socket
def main():
# 1. 创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2. 绑定本机ip和端口
udp_socket.bind(("", 7788)) # 绑定本机的ip和端口(元组类型) ""表示本机ip
# 3. 用套接字接收数据
recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数。会阻塞代码,直到接收到数据
# recv_data这个变量中存储的是一个元组 (接收到的数据,(发送方的ip, port))
recv_msg = recv_data[0] # 字节类型 存储接收到的数据
send_addr = recv_data[1] # 元组 存储发送方的地址和端口信息
# 4. 打印接收到的数据
# print(recv_data) # 元组 (接收到的数据,(发送方的ip, port))
print("%s:%s" % (str(send_addr), recv_msg.decode("gbk"))) # decode将字节转成字符串
# 5. 关闭套接字
udp_socket.close()
if __name__ == "__main__":
main()
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/houyanhua1/article/details/84251410
标签:Python,UDP,socket套接字
0
投稿
猜你喜欢
SQL中 patindex函数的用法详解
2024-01-23 14:55:39
Python pip安装模块提示错误解决方案
2022-03-07 02:26:27
Centos 6.4源码安装mysql-5.6.28.tar.gz教程
2024-01-25 09:39:58
Selenium 安装和简单使用的实现
2023-12-01 07:22:55
解决SQL Server的“此数据库没有有效所有者”问题
2024-01-16 22:21:58
SQL2005 自动备份的脚本
2024-01-23 20:34:27
python3.7+selenium模拟淘宝登录功能的实现
2022-03-05 01:26:27
pandas 转换成行列表进行读取与Nan处理的方法
2021-10-24 14:27:41
详解Golang中interface接口的原理和使用技巧
2024-04-26 17:29:10
Java连接数据库oracle中文乱码解决方案
2024-01-19 02:48:10
Python实现从url中提取域名的几种方法
2022-03-14 12:55:30
浅谈ASP自动采集程序及入库
2007-08-17 11:25:00
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2023-09-09 04:37:39
WebSocket的简单介绍及应用
2024-04-23 09:20:09
MySQL中的binlog相关命令和恢复技巧
2024-01-22 20:42:08
python加载自定义词典实例
2021-07-15 14:53:55
linux正确重启MySQL的方法
2024-01-25 14:38:09
MySQL如何实现负载均衡功能
2024-01-20 20:25:45
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2024-01-18 22:04:53
python Flask框架之HTTP请求详解
2023-10-02 01:52:55