Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
作者:houyanhua1 发布时间:2023-09-23 14:33:28
标签:Python,UDP,socket套接字
本文实例讲述了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
0
投稿
猜你喜欢
- 如提取第1行,第2列的值:df.iloc[[0],[1]]则会返回一个df,即有字段名和行号。如果用values属性取值:df.iloc[[
- 在我们开始之前,一定要注意这篇文章只针对Windows用户!对于那些使用Windows的人来说,这是一个有趣的想法。如果您想使用python
- openpyxl模块离线安装背景:公司的防火墙限制,无法使用pip在线安装,开墙的审批流程较为繁琐,故采取离线安装的方式。步骤如下:1、官网
- 使用非对称加密主要是借助openssl的公钥和私钥,用公钥加密私钥解密,或者私钥加密公钥解密。1.安装openssl和php的openssl
- js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,
- <?php 02 if(!function_exists('get_headers')){ 03&
- 这是我以前发表在经典论坛的帖子,现在转贴回来。仿淘宝网站的导航效果。此方法有几个优点:根据字数自适应项目长度不同的项目使用不同的颜色来区分无
- 近来,越来越多的数据科学家开始使用Python,我不由得想到,尽管他们从pandas、scikit-learn和numpy这些库中得到了不少
- PHP session用法其实很简单它可以把用户提交的数据以全局变量形式保存在一个session中并且会生成一个唯一的session_id,
- 一.绘制直线在OpenCV中,绘制直线需要获取直线的起点和终点坐标,调用cv2.line()函数实现该功能。该函数原型如下所示:img =
- 本文实例讲述了Python实现购物评论文本情感分析操作。分享给大家供大家参考,具体如下:昨晚上发现了snownlp这个库,很开心。先说说我开
- 前言圣诞节快到了,是不是想用python画一个可爱的圣诞树,我在各大网站都查了一下,都不太美观,然后我就学习了一下别人的代码改写了一下,自己
- MicroPython是Python 3语言的精简高效实现,包括Python标准库的一小部分,经过优化可在微控制器和受限环境中运行。WiFi
- 考察对于知识的理解,除了实际的代码运用,还有一种方法就是问答类的题型。不同于普通的概念叙述,小编认为即使是面试题也会带有一些数学题目的影响,
- 前言centos 是自带python的。但是版本稍微旧一些。搞python开发,肯定要用新一点的稳定版。所以,要升级一下python。本文将
- 因为我博客使用的Disqus代理服务下线,博客的评论系统可能有一阵子没有工作了。惭愧的是我竟然最近才发现,我的工作环境一直是没有GFW存在的
- 实现在线人数统计最常用的方法就是golobal.asa结合session做,但这种方法有两个不利: 1、每个session要占用12k的服务
- 本文以YOLOv5-6.1版本为例一、Add1.在common.py后加入如下代码# 结合BiFPN 设置可学习参数 学习不同分支的权重#
- SQL Server数据库涉及到的数据仓库概念:1.多维数据集:多维数据集是联机分析处理 (OLAP) 中的主要对象,是一项可对数据仓库中的
- 层叠样式表(css)是Web设计的一种语言,CSS的下一代版本CSS3已经蓄势待发。你是否可望开始使用它们却又不知从何下手呢?虽然还有一些新