我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么实现Udp接收数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么实现Udp接收数据

本篇内容主要讲解“怎么实现Udp接收数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现Udp接收数据”吧!

  udp接收数据,网络调试助手担任发送方,但发送时需要对方的也就是虚拟机的ip 和端口,ip可以通过config获取,那么如何让一个程序拥有一个固定端口呢?

  创建套接字的时候是没有端口号的,好比买了手机没有手机号,别人是找不到你的,所以要有一个固定的端口号,用udp_socket.bind()绑定一个端口

  接下来写程序,终端中:

  vim 05 绑定端口用来接收数据.py

  写程序的思路: if name==“main”:

  main()

  然后再def main():

  在这个函数里写代码。

  用注释来搭建流程

  #1、创建套接字

  #2、绑定一个本地信息

  #3、接收数据

  #4、打印接收到的数据

  #5、关闭套接字

  流程搭建完之后开始写代码,创建套接字的时候,用的是socket.XX,此时需要在代码的最上方导入socekt,用到什么导什么,代码不是从第一行开始写的。

  因为当代码比较多的时候,比如200多行,不确定会用到什么,所以用到什么导入什么,用到什么再调什么。

  1、udp绑定端口用来接收数据.py

  代码具体形式如下:

  import socket

  def main():

  #1、创建套接字

  udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

  #2、绑定一个本地信息(udp ctrl n自动补全),必须绑定自己电脑的ip port其它电脑的不行

  绑定的是一个元组,用localaddr变量表示,本地ip,绑定端口,端口号大于1024

  localaddr =("",7788)

  udp_socket.bind(localaddr)

  #3、接收数据(发送数据是套接字.sendto 接收是套接字.recvfrom(1024),

  1024表示本次接收的最大字节数),并用recv_data变量接收

  recv_data = udp_socket.recvfrom(1024)

  #4、打印接收到的数据

  print(recv_data)

  #5、关闭套接字

  udp_socket.close()

  if __name__=="__main__":

  main()

  代码完成后,终端中python3 05 绑定端口用来接收数据.py 运行程序,此时由网络调试助手发送过来的消息就可以在终端中收到,收到的内容显示情况如下:

怎么实现Udp接收数据

  打印出来的数据即变量recv_data,是一个元组,第一个参数是发送的数据,第二个参数是一个小元组,是发送方的ip和端口。

  想要在终端中只显示接收到的数据,不显示对方的ip 和端口,操作如下:

  cp 05 绑定端口用来接收数据.py 06解析出接收到数据.py

  2、解析出接收到数据.py

  关于注释:

  如果在一行的开头注释,直接用# 后面跟上一个空格 再写注释内容

  如果是在代码后面注释 代码后面加两个空格 再用# 跟上一个空格 再写注释内容

  打印代码调整时的思路:

  print(“s% : s%”,%(send_addr,recv_msg))

  但send_addr是一个元组,不能直接这样用,需要用str(send_addr)来转换

  recv_msg也不能直接用,因为发送时是用编码编成了bite类型,收到的也是bite类型,如果直接发送过来的是字母,可以收到,但是如果发送过来是汉字,收到的是乱码,此时需要解码,

  recv_msg.decode(“utf-8”),但是此时用windows的网络调试助手发送中文过来还是乱码,因为windows不是用utf-8编码的,用的是gbk编码,所以此时解码需要用gbk,即:recv_msg.decode(“gbk”)

  如果将网络调试助手放到ubantu中,解码还是要用utf-8来解

  import socket

  def main():

  #1、创建套接字

  udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

  #2、绑定一个本地信息

  localaddr =("",7788)

  udp_socket.bind(localaddr)

  #3、接收数据

  recv_data = udp_socket.recvfrom(1024)

  recv_msg = recv_data[0] # 用来接收发送的内容

  send_addr = recv_data[1] # 用来接收发送方的ip和port

  #4、打印接收到的数据

  #print(recv_data) # 此时打印的代码需要注释掉,重新调整

  pint("s%:s%",%(str(send_addr),recv_msg.decode("gbk")))

  #5、关闭套接字

  udp_socket.close()

  if __name__=="__main__":

  main()

  **总结:无锡妇科检查医院 http://www.87554006.com/

  发送数据步骤:

  1.创建套接字

  2.发送数据

  3.关闭套接字

  接收数据步骤:

  1.创建套接字

  2.绑定本地的ip 端口

  3.接收数据

  4.打印套接字

  想要在终端中循环一直接收数据,操作如下:

  cp 06解析出接收到数据.py 07循环接收数据.py

  vim 07循环接收数据.py

  3、循环接收数据.py

  想要循环接收,就要用while true ,对接收和打印代码进行while true:

  ESC 大V 上下箭头选中,大于号向右缩进

  import socket

  def main():

  #1、创建套接字

  udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

  #2、绑定一个本地信息

  localaddr =("",7788)

  udp_socket.bind(localaddr)

  #3、接收数据

  while True:

  recv_data = udp_socket.recvfrom(1024)

  recv_msg = recv_data[0] # 用来接收发送的内容

  send_addr = recv_data[1] # 用来接收发送方的ip和port

  #4、打印接收到的数据

  pint("s%:s%",%(str(send_addr),recv_msg.decode("gbk")))

  #5、关闭套接字

  udp_socket.close()

  if __name__=="__main__":

  main()

到此,相信大家对“怎么实现Udp接收数据”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么实现Udp接收数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么实现Udp接收数据

本篇内容主要讲解“怎么实现Udp接收数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现Udp接收数据”吧!  udp接收数据,网络调试助手担任发送方,但发送时需要对方的也就是虚拟机的ip
2023-06-02

java怎么用UDP实时接收数据

要使用UDP实时接收数据,你可以使用Java的`DatagramSocket`类和`DatagramPacket`类。以下是一个简单的示例代码:```javaimport java.net.DatagramPacket;import jav
2023-08-19

java中UDP如何接收数据

这篇文章给大家分享的是有关java中UDP如何接收数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程
2023-06-14

C#怎么使用udp实现消息的接收和发送

本篇内容主要讲解“C#怎么使用udp实现消息的接收和发送”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么使用udp实现消息的接收和发送”吧!使用udp实现消息的接收和发送代码比较简单,但是
2023-07-05

Java NIO实例UDP发送接收数据代码分享

Java的NIO包中,有一个专门用于发送UDP数据包的类:DatagramChannel,UDP是一种无连接的网络协议,一般用于发送一些准确度要求不太高的数据等。完整的服务端程序如下:public class StatisticsServe
2023-05-30

php怎么接收formdata数据

要使用 PHP 接收 FormData 数据,你可以通过 `$_POST`、`$_FILES` 和 `$_REQUEST` 超全局变量来访问表单数据。如果表单使用了 POST 方法提交,你可以使用 `$_POST` 来接收数据。例如:```
2023-09-07

vue项目嵌套iframe怎么实现发送、接收数据

这篇文章主要介绍“vue项目嵌套iframe怎么实现发送、接收数据”,在日常操作中,相信很多人在vue项目嵌套iframe怎么实现发送、接收数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目嵌套if
2023-06-30

Android模拟器接收UDP数据包的若干问题分析

本文实例分析了Android模拟器接收UDP数据包的若干问题。分享给大家供大家参考,具体如下: android模拟器无法接收UDP数据包 代码如下:DatagramPacket pack = null; DatagramSocket mai
2022-06-06

C#使用udp如何实现消息的接收和发送

这篇文章主要介绍了C#使用udp如何实现消息的接收和发送问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-26

springboot怎么接收表单数据

在Spring Boot中,可以使用`@RequestParam`注解来接收表单数据。以下是示例代码:```java@PostMapping("/submit")public String submitForm(@RequestParam(
2023-08-14

C#如何实现套接字发送接收数据

这篇文章主要介绍了C#如何实现套接字发送接收数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下服务端namespace TestServer{ public
2023-06-21

uniapp怎么改变接收的数据

随着移动应用开发的不断发展,很多开发者也在不断探索新的技术方案,其中uniapp无疑是目前比较受欢迎的一种。虽然uniapp提供了很多便利,但是对于一些特定需求,开发者可能还需要一些额外的技巧。本文将介绍如何在uniapp中改变接收的数据。一、背景在uniapp中,我们可以通过wxs过滤器、computed计算属性等方式对数据进行一定程度的处理,但是如果我们需要对接口返回的原始
2023-05-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录