udp网络程序-发送、接收数据

1. udp网络程序-发送数据

创建一个基于udp的网络程序流程很简单,具体步骤如下:

  1. 创建客户端套接字
  2. 发送/接收数据
  3. 关闭套接字

与发短信类似。

代码如下:

#coding=utf-8from socket import *# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)# 2. 准备接收方的地址
# '192.168.1.103'表示目的ip地址
# 8080表示目的端口
dest_addr = ('192.168.1.103', 8080)  # 注意 是元组,ip是字符串,端口是数字# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")# 4. 发送数据到指定的电脑上的指定程序中
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)# 5. 关闭套接字
udp_socket.close()

运行现象:

在Ubuntu中运行脚本:

在windows中运行“网络调试助手”:

问题: sendto()函数的两个参数分别表示什么含义

2. udp网络程序-发送、接收数据

#coding=utf-8from socket import *# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)# 2. 准备接收方的地址
dest_addr = ('192.168.236.129', 8080)# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")# 4. 发送数据到指定的电脑上
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)# 5. 等待接收对方发送的数据
# 如果没有收到数据则会阻塞等待 直到收到数据
recv_data = udp_socket.recvfrom(1024)  # 1024表示本次接收的最大字节数# 6. 显示对方发送的数据
# 接收到的数据recv_data是一个元组
# 第1个元素是对方发送的数据
# 第2个元素是对方的ip和端口
print(recv_data[0].decode('gbk'))
print(recv_data[1])# 7. 关闭套接字
udp_socket.close()

python脚本:

网络调试助手截图:

问题:recvfrom函数的参数、返回值的含义分别是什么?

3. 注意事项

如果UBuntu(Mac) 和 网络调试助手(windows)平台通信时 则需要在发送时使用UTF8编码,接收时使用GBK解码。

【Python】udp网络程序-发送、接受数据相关推荐

  1. socket简介和udp网络程序-发送、接收数据

    socket简介 不同电脑上的进程之间如何通信 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起! 在1台电脑上可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的. 其实TCP ...

  2. Python—UDP网络程序

    文章目录 网络编程 UDP网络程序 发送数据 发送接收数据 UDP端口号绑定 网络编程 UDP网络程序 UDP->User Datagram Protocol(用户数据报协议)是一个无连接的简单 ...

  3. udp网络程序-端口问题

    会变的端口号 重新运行多次脚本,然后在"网络调试助手"中,看到的现象如下: 说明: 每重新运行一次网络程序,上图中红圈中的数字,不一样的原因在于,这个数字标识这个网络程序,当重新运 ...

  4. python开发网络程序教程_python3编写C/S网络程序实例教程

    本文以实例形式讲述了python3编写C/S网络程序的实现方法.具体方法如下: 本文所述实例是根据wingIDE的提示编写的一个C/S小程序,具体代码如下: client端myclient.py代码如 ...

  5. JS十六进制,CRC冗余,小程序发送蓝牙数据,十六进制GBK编码转换等

    小程序问题:https://kf.qq.com/faq/170705YVZFZZ170705eyI7Rr.html 1.十六进制大端转小端 //十六进制大端转小端dataConversion(data ...

  6. 网络主机发送IP数据包过程

    主机发送IP数据包过程 当一个拥有公网IP的主机给其它主机发送IP数据包时,首先在IP首部封装自身IP地址(源IP)和目的主机的IP地址(目的IP),实现网络层数据的封装.接下来进行数据链路层封装,数 ...

  7. python测速程序_Python大数据分析学习.测试程序执行速度

    Python大数据分析学习.测试程序执行速度 发布时间:2019-03-25 22:26, 浏览次数:250 , 标签: Python Here, I introduce 2 magic functi ...

  8. python --- udp的使用

    1. python的模块导入规则 参考 1.1 系统自带模块 系统自带的模块直接import导入 import time import unittest 1.2 第三方下载模块 第三方下载模块也可以直 ...

  9. python udp编程_Python UDP编程

    1. UDP UDP,用户数据报传输协议,它位于TCP/IP协议的传输层,是一种无连接的协议,它发送的报文不能确定是否完整地到达了另外一端 TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据. ...

最新文章

  1. python设计拼图小游戏_教你用Python自制拼图小游戏,轻松搞定熊孩子
  2. 分享自己针对Automation做的两个成熟的框架(QTP 和Selenium)
  3. matlab五角星的二维作图,MATLAB二维画图综合实例
  4. Date对象在Android和IOS上的兼容
  5. DataSnap服务器从xe2升级到xe5报错的处理
  6. MTA18ASF2G72PDZ-2G6D1内存条MTA18ASF2G72PDZ-2G6E1
  7. Origin安装Could not connect to Internet Origin installation requires an Internet Connection
  8. ps快捷键大全(表格汇总)
  9. AT91SAM7SE应用 - IRQ
  10. outlook设置京东邮箱
  11. lempel ziv matlab,精讲Lempel-Ziv压缩算法
  12. 【设计】01-15个漂亮的网站UI设计作品案例欣赏
  13. uos系统不激活能用吗_uos如何激活
  14. linux下at24c02驱动程序,Linux下iic(i2c)读写AT24C02
  15. 没有基础怎么自学好淘宝美工设计?自学有哪些方法?
  16. 自定义HikariCP连接池
  17. 日常学习之总结(1机器学习,2jupyter notebook,3语言类,4快捷键,5操作系统,6密码学,7Web安全,8Kali,9正则表达式,10计算机网络,11编程题目)
  18. 20种热带风景摄影调色luts预设
  19. 对平衡记分卡的简要评价和要成为合格的ERP(SAP HR模块)顾问必须具备的素质
  20. 3.JVM内存区域划分

热门文章

  1. 使用ElasticSearch进行可扩展搜索
  2. ROM, SRAM, SDRAM的区别
  3. MySQL数据库应用 多表查询_mysql数据库-多表查询
  4. python-字典附加题3- 股票查询
  5. 深入讲解VsCode各场景高级调试与使用技巧
  6. matlab for 语句事例,有关matlab里面for语句的使用。
  7. “极盾-2021”众测推荐名录发布,墨云科技荣誉登榜
  8. java集合相关的习题及解析
  9. 试题 算法训练 礼物
  10. 西门子二代精简屏无法正常显示中文字符时,如何给屏幕传送Chinese fonts?