上一篇Python 技术篇-socket 套接字实现两个窗口间消息传递,TCP 实现
本篇介绍用 UDP 来实现。

socket 套接字实现服务器客户端消息传递有 UDPTCP 两种形式。他们最主要的区别是:TCP 需要建立客户端与服务器的连接,UDP 不需要

建立 UDP 连接的 socket 对象:socket(AF_INET, SOCK_DGRAM)
UDP 接收数据:recvfrom(buf) ,返回值是客户端传的数据和客户端的地址,参数 buf 是缓冲区大小,比如 8 的话相当于 2 个中文,8 个英文或数字,一般设置 1024
UDP 发送数据:sendto(data, addr)data 是字节 bytes 类型的数据,addr 是形如 (host, port) 端口号加地址的元组类型数据。

服务器端代码:

from socket import *host = ""   # ip,服务器空ip代表本地;
port = 7777   # 端口号;
addr = (host, port)Socket_UDP = socket(AF_INET, SOCK_DGRAM)   # 创建socket对象;
Socket_UDP.bind(addr)   # 服务器用bind绑定本地,也算是服务器的标识;print("Waitting...")
while True:data, addr = Socket_UDP.recvfrom(128)   # 缓冲区大小可以设置大一点data = str(data, encoding = 'utf-8')   # 将接收的字节类型数据转化为字符串类型;print("来自" + str(addr) + "发来的消息: " + data)if data == "exit":breakSocket_UDP.close()   # 关闭socket对象;

客户端代码:

from socket import *host = "127.0.0.1" # 服务器的地址,因为服务器也在本地,所以填本地地址了
port = 7777 # 端口号要与服务器一致
addr = (host, port)Socket_UDP = socket(AF_INET, SOCK_DGRAM)while True:data = input("向服务器发送消息: ")data = bytes(data, encoding = 'utf-8') # 因为input返回的是字符串类型的数据,data需要字节类型的数据Socket_UDP.sendto(data, addr) if data == "exit":breakSocket_UDP.close()

服务器窗口截图:

客户端窗口截图:

喜欢的点个赞❤吧!

Python 技术篇-socket套接字实现服务器客户端消息传递实例演示,UDP实现相关推荐

  1. Python 技术篇-socket套接字实现两个窗口间消息传递实例演示,TCP实现

    上一篇:Python 技术篇-socket 套接字实现服务器客户端消息传递,UDP 实现 本篇介绍用 TCP 来实现. socket 实现客户端服务器的消息传递有 TCP 和 UDP 两种方式. TC ...

  2. Socket套接字实现服务器端连接

      1using System;   2using System.Drawing;   3using System.Collections;   4using System.ComponentMode ...

  3. 自学Python 58 Socket套接字编程 (一)

    Python Socket套接字编程 (一) 文章目录 Python Socket套接字编程 (一) 一.库 Socket 内置函数和属性 二.Python中的socket通信逻辑   Socket又 ...

  4. python编程socket套接字常用属性

    """ socket套接字属性设置套接字选项:soc.setsockopt(level,option,value)level:选项类别SOL_SOCKEToption:具 ...

  5. python socket send_全网最详细python中socket套接字send与sendall的区别

    将数据发送到套接字. 套接字必须连接到远程套接字.  返回发送的字节数. 应用程序负责检查是否已发送所有数据; 如果仅传输了一些数据, 则应用程序需要尝试传递剩余数据.(需要用户自己完成) 将数据发送 ...

  6. 【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 服务器客户端完整代码示例 | 运行服务器端与客户端效果及过程分析 )

    文章目录 一.服务器端完整代码 Server.groovy 二.客户端完整代码 Client.groovy 三.运行服务器端与客户端效果及过程分析 一.服务器端完整代码 Server.groovy 参 ...

  7. Python 技术篇-用os库实现本地文件重命名实例演示

    os.rename() 就是用来重命名的. 下面演示将D:\python文件夹下的 a.txt 改为 b.txt. import os# 方法一 path = "D:\\python&quo ...

  8. Python 技术篇 - 操作excel实现单元格合并并居中实例演示,用openpyxl库为指定区域的单元格设置对齐样式和字体样式方法

    Openpyxl 设置 excel 单元格合并.对齐样式和字体 第一章:openpyxl 操作 excel ① 设置单元格合并 ② 设置单元格居中对齐样式 ③ 设置单元格字体样式 第一章:openpy ...

  9. 一个简单的socket套接字服务器,Python

    (1)用Python实现一个简单的套接字socket服务器例子,该服务器在接受客户端连接后,每隔一秒从a到z的字符中随机选一个发送给客户端. import socketserver import ti ...

最新文章

  1. Documentum常见问题4—如何通过vlink方式直接查看文档内容
  2. 大数据面试题及答案 汇总版
  3. php 变量 换行,php去除换行符的方法小结(PHP_EOL变量的使用)_PHP教程
  4. 陌屿授权系统v2.0源码
  5. 上学与不上学的区别_这是我在全球最大的React会议上学到的
  6. yii2.0框架debug模式
  7. mysql----------mysql5.7如何配置主从数据库
  8. 45本数据分析、Python的书籍,包邮送到家
  9. C++--第9课 - 构造与析构 - 上
  10. Xshell7,Xftp7免费版下载安装
  11. 51单片机定时器问题总结
  12. SQL Server安装教程
  13. JAVA架构师学习路线图(绝对详细)
  14. 自然语言推断:微调BERT
  15. BIOS设置中功能的翻译及介绍
  16. 【7gyy】利用F11恢复崩溃系统
  17. [ubuntn]常用软件安装方法
  18. gparted给ubuntu系统扩容
  19. 【ONV】6 口百兆 AI PoE 供电交换机简介
  20. Vue中将Element表格导出为excel

热门文章

  1. iOS经典面试题总结--内存管理
  2. Linux服务器网卡驱动安装及故障排除(转)
  3. 代码Overlay机制
  4. 手机中陀螺仪传感器的四大作用
  5. 简历英文 计算机水平,计算机英文 简历
  6. Response内置对象
  7. XHTML Strict和Transitional 的区别
  8. 开源助推进NFV发展,红帽为运营商“定制”NFV落地方案
  9. Java: 数据类型
  10. uva10954 - Add All(multiset功能)