我们知道想要实现数据之间的传递,会有用户和服务方的产生。由用户提供需求,服务方把成果反馈给用户。本篇就UDP编程在通信的过程分为两个部分:服务器端和客户端。下面我们就数据在不同端口传送的方法进行分析,大家一起看看它们在其中都有哪些操作的步骤吧。

1、服务器端

recvfrom()方法返回数据和客户端的地址与端口,这样,服务器收到数据后,直接调用sendto()就可以把数据用UDP发给客户端。# coding:utf-8

import socket

# 创建套接字

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

# 绑定地址和端口

addr = '127.0.0.1'

port = 9999

s.bind((addr,port))

print("Bind UDP on",port)

# 数据处理

while True:

data, addr = s.recvfrom(1024)

print("Receive data from %s:%s" % addr)

s.sendto(b"Hello, %s!" % data, addr)

2、客户端

客户端使用UDP时,首先仍然创建基于UDP的Socket,然后,不需要调用connect(),直接通过sendto()给服务器发数据:# coding:utf-8

import socket

addr = '127.0.0.1'

port = 9999

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

for data in [b'Hello', b'world!']:

s.sendto(data,(addr, port))

print(s.recv(1024).decode('utf-8'))

s.close()

以上就是python中UDP编程实现通信的方法,大家可以先就两种不同的端口进行学习,然后再分别尝试代码的运行部分。

pythonudp通信程序_python中UDP编程实现通信相关推荐

  1. 浅谈 Qt 中 UDP 之 UdpSocket通信实例

    浅谈 Qt 中 UDP  写这篇博客的原因是Java大作业最近完成了一个简单的聊天室.也是基于UDP的.正好我们在学习Qt.所以我想能不能再qt中同样实现这样一个问题.于是我进行的代码的编辑.以及其他 ...

  2. python中的多线程的优点_Python中多线程编程的优点是什么?

    当我听说多线程编程时,我想到了加速我的程序的机会,但不是吗?在import eventlet from eventlet.green import socket from iptools import ...

  3. python建立字典的程序_Python中如何创建字典Dict

    1.概述 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据,而且是Python中唯一的内建映射型数据结构. 比如有一个小学生的期末成绩,语文:79,数学:80,英语:92 ...

  4. python程序启动其他python程序_python中使用fork创建新的进程

    python中如果要创建新进程的话,可以使用os模块中的fork方法.为了了解其中工作原理,笔者结合linux的查看进程ps命令,对这个方法做了一些测试. python运行时进程 python一开始运 ...

  5. python趣味程序_python游戏趣味编程:疯狂的小圆圈

    1 疯狂的小圆圈 当按下鼠标左键滑动时,会产生一些列同心圆,这些同心圆运动,碰到四周会反弹. 这里要学习下字典. 2 漂亮的彩虹 3 字典 第1行:定义一个字典,里面存储了7个颜色 第3行:打印字典中 ...

  6. anaconda怎么运行python程序_Python中四种运行其他程序的方式,你知道吗?

    前言 在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32p ...

  7. python建立字典的程序_python中的字典

    字典:一个关联数组或散列表 ,可通过关键字索引的对象. 字典的用途:定义一个可包含多个命名字段的对象,也可以用作快速查找无序数据的容器 字典是python中最完善的数据类型 在程序中最常用于存储和处理 ...

  8. python中保留两位小数的编写程序_Python中保留两位小数的几种方法

    保留两位小数,并做四舍五入处理 方法一: 使用字符串格式化 >>> a = 12.345 >>> print("%.2f" % a) 12.35 ...

  9. python写界面进度条程序_Python中如何写控制台进度条的整理

    进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输 ...

  10. python 预测下一年数据 程序_python中神经网络预测时间序列数据

    我是神经网络的初学者,尝试用python语言预测5个输入的温度值(输出).我使用python中的keras包来工作神经网络.在 此外,我使用了两种算法,即前向神经网络(回归)和递归神经网络(LSTM) ...

最新文章

  1. UnixLinux大学教程 读书笔记【1-3章】
  2. C++11 :STL中的 iota ()函数
  3. DOS命令查看网络信息
  4. index加载显示servlet数据_[WEB篇]-JavaWeb基础与应用-02-Servlet开发
  5. Harbor:私有企业级Registry仓库--快速搭建
  6. MongoDB 4.6.1 c++ driver 编译
  7. Hadoop(四)hdfs基本操作
  8. unity 引用prefab_Unity基础教程-对象管理(二)——对象多样化(Fabricating Shapes)...
  9. wps桌面右键缺少新建文档入口
  10. 完整的连接器设计手册_特斯拉的高压连接器
  11. PyTorch笔记 - Dropout: A Simple Way to Prevent Neural Networks from Overfitting
  12. 绫辻行人《杀人偶人馆》读后感
  13. c语言字符串dna,转录流程(c语言编写DNA转录程序)
  14. 超简单的canvas绘制地图
  15. 【测试开发】一个5年测试开发的成长经验,大学毕业就开启他的职业生涯......
  16. 微信小程序--获取当前时间
  17. ethz的多传感器融合算法msf编译与安装
  18. 如何用PS将gif图背景变透明
  19. 对于《肖申克的救赎》的个人感悟
  20. [奥塔在线]JAVA启蒙:WIN10下的JDK环境部署

热门文章

  1. 【Android】音视频开发基础入门
  2. VSCode插件-萌妹音彩虹屁,还需要鼓励师作甚?
  3. 一个可以免费下载数据集的网站
  4. curl源码编译安装
  5. pr2020lut导入_PS PR AE怎么批量导入LUTS调色预设
  6. Cocos BabeLua配置
  7. CharSequence接口
  8. 【AVR单片机】【Microchip Studio】01项目创建
  9. Windows 如何利用注册表更改软件的窗口大小
  10. 长安大学微型计算机原理与接口技术答案,长安大学微机原理与接口技术AB卷试题与答案.doc...