Python实现基于socket的udp传输与接收功能详解


Posted in Python onNovember 15, 2019

本文实例讲述了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()

Python实现基于socket的udp传输与接收功能详解
Python实现基于socket的udp传输与接收功能详解
Python实现基于socket的udp传输与接收功能详解
Python实现基于socket的udp传输与接收功能详解

三.接收数据流程

  • 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()

运行此程序
Python实现基于socket的udp传输与接收功能详解

在网络调试助手中发送消息

发送三次“你好”
Python实现基于socket的udp传输与接收功能详解

发送三次“hello”
Python实现基于socket的udp传输与接收功能详解

回到pycharm查看信息
Python实现基于socket的udp传输与接收功能详解

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
简述Python中的进程、线程、协程
Mar 18 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
Python绘制热力图示例
Sep 27 Python
python plotly画柱状图代码实例
Dec 13 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 Python
python根据文本生成词云图代码实例
Nov 15 #Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 #Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 #Python
Django admin禁用编辑链接和添加删除操作详解
Nov 15 #Python
django实现类似触发器的功能
Nov 15 #Python
Python socket实现的文件下载器功能示例
Nov 15 #Python
Django通过dwebsocket实现websocket的例子
Nov 15 #Python
You might like
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
php入门教程 精简版
2009/12/13 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
javascript 函数式编程
2007/08/16 Javascript
JQuery index()方法使用代码
2010/06/02 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
js用Date对象处理时间实现思路及代码
2013/01/31 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
JS打印组合功能
2016/08/04 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
使用vue-router为每个路由配置各自的title
2018/07/30 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
Python常用库推荐
2016/12/04 Python
CentOS中升级Python版本的方法详解
2017/07/10 Python
python执行使用shell命令方法分享
2017/11/08 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
浅谈在django中使用redirect重定向数据传输的问题
2020/03/13 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
年度考核自我鉴定
2014/02/02 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
学生安全责任书范本
2014/07/24 职场文书
投资意向协议书
2015/01/29 职场文书