【Python】udp网络程序-发送、接受数据
udp网络程序-发送、接收数据
1. udp网络程序-发送数据
创建一个基于udp的网络程序流程很简单,具体步骤如下:
- 创建客户端套接字
- 发送/接收数据
- 关闭套接字
与发短信类似。
代码如下:
#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网络程序-发送、接受数据相关推荐
- socket简介和udp网络程序-发送、接收数据
socket简介 不同电脑上的进程之间如何通信 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起! 在1台电脑上可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的. 其实TCP ...
- Python—UDP网络程序
文章目录 网络编程 UDP网络程序 发送数据 发送接收数据 UDP端口号绑定 网络编程 UDP网络程序 UDP->User Datagram Protocol(用户数据报协议)是一个无连接的简单 ...
- udp网络程序-端口问题
会变的端口号 重新运行多次脚本,然后在"网络调试助手"中,看到的现象如下: 说明: 每重新运行一次网络程序,上图中红圈中的数字,不一样的原因在于,这个数字标识这个网络程序,当重新运 ...
- python开发网络程序教程_python3编写C/S网络程序实例教程
本文以实例形式讲述了python3编写C/S网络程序的实现方法.具体方法如下: 本文所述实例是根据wingIDE的提示编写的一个C/S小程序,具体代码如下: client端myclient.py代码如 ...
- JS十六进制,CRC冗余,小程序发送蓝牙数据,十六进制GBK编码转换等
小程序问题:https://kf.qq.com/faq/170705YVZFZZ170705eyI7Rr.html 1.十六进制大端转小端 //十六进制大端转小端dataConversion(data ...
- 网络主机发送IP数据包过程
主机发送IP数据包过程 当一个拥有公网IP的主机给其它主机发送IP数据包时,首先在IP首部封装自身IP地址(源IP)和目的主机的IP地址(目的IP),实现网络层数据的封装.接下来进行数据链路层封装,数 ...
- python测速程序_Python大数据分析学习.测试程序执行速度
Python大数据分析学习.测试程序执行速度 发布时间:2019-03-25 22:26, 浏览次数:250 , 标签: Python Here, I introduce 2 magic functi ...
- python --- udp的使用
1. python的模块导入规则 参考 1.1 系统自带模块 系统自带的模块直接import导入 import time import unittest 1.2 第三方下载模块 第三方下载模块也可以直 ...
- python udp编程_Python UDP编程
1. UDP UDP,用户数据报传输协议,它位于TCP/IP协议的传输层,是一种无连接的协议,它发送的报文不能确定是否完整地到达了另外一端 TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据. ...
最新文章
- python设计拼图小游戏_教你用Python自制拼图小游戏,轻松搞定熊孩子
- 分享自己针对Automation做的两个成熟的框架(QTP 和Selenium)
- matlab五角星的二维作图,MATLAB二维画图综合实例
- Date对象在Android和IOS上的兼容
- DataSnap服务器从xe2升级到xe5报错的处理
- MTA18ASF2G72PDZ-2G6D1内存条MTA18ASF2G72PDZ-2G6E1
- Origin安装Could not connect to Internet Origin installation requires an Internet Connection
- ps快捷键大全(表格汇总)
- AT91SAM7SE应用 - IRQ
- outlook设置京东邮箱
- lempel ziv matlab,精讲Lempel-Ziv压缩算法
- 【设计】01-15个漂亮的网站UI设计作品案例欣赏
- uos系统不激活能用吗_uos如何激活
- linux下at24c02驱动程序,Linux下iic(i2c)读写AT24C02
- 没有基础怎么自学好淘宝美工设计?自学有哪些方法?
- 自定义HikariCP连接池
- 日常学习之总结(1机器学习,2jupyter notebook,3语言类,4快捷键,5操作系统,6密码学,7Web安全,8Kali,9正则表达式,10计算机网络,11编程题目)
- 20种热带风景摄影调色luts预设
- 对平衡记分卡的简要评价和要成为合格的ERP(SAP HR模块)顾问必须具备的素质
- 3.JVM内存区域划分