Python实现基于socket的udp传输与接收功能详解
作者:独听钟声晚 发布时间:2023-09-04 03:23:20
标签:Python,socket,udp
本文实例讲述了Python实现基于socket的udp传输与接收功能。分享给大家供大家参考,具体如下:
udp的传输与接收
windows网络调试助手下载:https://pan.baidu.com/s/1IwBWeAzGUO1A3sCWl20ssQ
提取码:68gr
或者点击此处本站下载。
一.基本用法
1.创建套接字
udp_socket = socket.socket(socket.AF_INET,cosket.SOCK_DGRAM)
localaddr = ("",port)
udp_socket.bind(localaddr)
2.使用套接字收发数据
udp_socket.sendto("xxxx").encode("utf-8"),("ip",port)
udp_socket.recvfrom(1024)
3.关闭套接字
udp_socket.close()
二.发送数据流程
1.创建套接字
2.发送数据
3.关闭
import socket
def main():
# 创建一个套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
# 从键盘获取数据
send_data = input("请输入要发送的数据:")
# 退出函数
if send_data == "exit":
break
# 可以使用套接字收发数据,此时未绑定发送的端口号,系统每次会随机分配一个
# udp_socket.sendto("hahaha",对方的IP和port)
# udp_socket.sendto(b"lalala123",("172.17.3.97",8080))
udp_socket.sendto(send_data.encode("gbk"),("172.17.3.97",8080)) #由于接收是在Windows上,而Windows中默认编码为gbk
# 关闭套接字
udp_socket.close()
if __name__ == '__main__':
main()
三.接收数据流程
1.创建套接字
2.绑定本地信息(ip和port)
3.接收数据
4.关闭
import socket
def main():
# 1创建套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 2.绑定一个本地信息
localaddr = ("",7788) # 必须绑定自己电脑IP和port
udp_socket.bind(localaddr)
# 3.接收数据
while True:
recv_data = udp_socket.recvfrom(1024)
# recv_data存储元组(接收到的数据,(发送方的ip,port))
recv_msg = recv_data[0] # 信息内容
send_addr = recv_data[1] # 信息地址
# 4.打印接收到的数据
# print(recv_data)
print("信息来自:%s 内容是:%s" %(str(send_addr),recv_msg.decode("gbk")))
# 5.退出套接字
udp_socket.close()
if __name__ == "__main__":
main()
在网络调试助手中发送消息
发送三次“你好”
发送三次“hello”
回到pycharm查看信息
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/weixin_44321116/article/details/96475120


猜你喜欢
- 可控制的滚动新闻不同于自动的滚动条,它是通过按钮控制移动的,当你把鼠标放在按钮上时,新闻内容就会向上或
- arcgis使用Python脚本进行批量截图介绍最近公司数据部那边有个需求,需要结合矢量数据和影像数据,进行批量截图,并且截图中只能有一个图
- 在程序中,变量就是一个名称,让我们更加方便记忆。cars = 100 space_in_a_car = 4.0 drivers = 30 p
- 说明:本函数作用是截取指定英汉混合字符串,并保持显示长度一至。就是将一个汉字当两英文来截取。用途:一般会用在标题显示列表,可以避免截取的字符
- python 绘制拟合曲线并加指定点标识import osimport numpy as npfrom scipy import logfr
- 任务描述本次实践是一个多分类任务,需要将照片中的宝石分别进行识别,完成宝石的识别实践平台:百度AI实训平台-AI Studio、Paddle
- mock简介mock原是python的第三方库python3以后mock模块已经整合到了unittest测试框架中,不用再单独安装Mock这
- 在前几篇博文中,我们分别采用颜色识别,模板匹配,像素遍历等方法实现了棋子和棋盘的定位,具体内容可以参见我的前面的文章内容,在这一篇中,我们来
- 时间格式化函数,代码简单但较实用代码很简单,谁都能看懂Function fmstr(str, str1, Lens) Dim str2For
- 以下是一个类文件,下面的注解是调用类的方法注意:如果系统不支持建立Scripting.FileSystemObject对象,那么数据库压缩功
- #小策略,策略逻辑是在金叉时候买进,死叉时候卖出,所谓金叉死叉是两条均线的交叉,当短期均线上穿长期均线为金叉,反之为死叉#下面是策略代码及结
- QQWry.dat数据可以去百度搜索最新版本<%'======================================
- 前言:关于数据库范式,时常有听说过,一直没有详细去了解。一般数据库书籍或数据库课程会介绍范式相关内容,范式也经常出现在数据库考试题目中。不清
- 本文实例讲述了Python实现的生产者、消费者问题。分享给大家供大家参考,具体如下:生产者、消费者问题,经典的线程同步问题:假设有一个缓冲池
- 我就废话不多说了,直接上代码吧!import urllib.requestimport requestsimport timeimport
- 涉及到详情页爬取目录结构:kaoshi_bqg.pyimport scrapyfrom scrapy.spiders import Rule
- 由于众所周知的原因,ACCESS在大型站点应用中都靠不上边,主要问题就是数据量大了以后几乎无法索引。当ACCESS里数据过万后,明显可以感觉
- Python之所以这么流行,是因为它不仅能够应用于科技领域,还能用来做许多其他学科的研究工具,绘制地图便是其功能之一。今天我们用matplo
- 本文实例为大家分享了基于wxPython的GUI实现输入对话框的具体代码,供大家参考,具体内容如下编程时,免不了要输入一些参数等,这时输入对
- >>> import os &n