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 线程的暂停, 恢复, 退出详解及实例
Dec 06 Python
Python正则简单实例分析
Mar 21 Python
简单谈谈python中的语句和语法
Aug 10 Python
python实现判断一个字符串是否是合法IP地址的示例
Jun 04 Python
通过Python模块filecmp 对文件比较的实现方法
Jun 29 Python
Python json转字典字符方法实例解析
Apr 13 Python
增大python字体的方法步骤
Jul 05 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
Python特殊属性property原理及使用方法解析
Oct 09 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
Dec 13 Python
如何判断pytorch是否支持GPU加速
Jun 01 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 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
php error_log 函数的使用
2009/04/13 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
php 定义404页面的实现代码
2012/11/19 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
基于CakePHP实现的简单博客系统实例
2015/06/28 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
2016/09/14 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
vue组件系列之TagsInput详解
2020/05/14 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
20个常用Python运维库和模块
2018/02/12 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
类的返射机制中的包及核心类
2016/09/12 面试题
2014会计年终工作总结
2014/12/20 职场文书
校本研修个人总结
2015/02/28 职场文书
跳高加油稿
2015/07/21 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
环境卫生标语
2015/08/03 职场文书