python实现的多任务版udp聊天器功能案例


Posted in Python onNovember 13, 2019

本文实例讲述了python实现的多任务版udp聊天器。分享给大家供大家参考,具体如下:

python实现的多任务版udp聊天器功能案例

说明

编写一个有2个线程的程序
线程1用来接收数据然后显示
线程2用来检测键盘数据然后通过udp发送数据

要求

实现上述要求
总结多任务程序的特点

参考代码:

import socket
import threading
def send_msg(udp_socket):
  """获取键盘数据,并将其发送给对方"""
  while True:
    # 1. 从键盘输入数据
    msg = input("\n请输入要发送的数据:")
    # 2. 输入对方的ip地址
    dest_ip = input("\n请输入对方的ip地址:")
    # 3. 输入对方的port
    dest_port = int(input("\n请输入对方的port:"))
    # 4. 发送数据
    udp_socket.sendto(msg.encode("utf-8"), (dest_ip, dest_port))
def recv_msg(udp_socket):
  """接收数据并显示"""
  while True:
    # 1. 接收数据
    recv_msg = udp_socket.recvfrom(1024)
    # 2. 解码
    recv_ip = recv_msg[1]
    recv_msg = recv_msg[0].decode("utf-8")
    # 3. 显示接收到的数据
    print(">>>%s:%s" % (str(recv_ip), recv_msg))
def main():
  # 1. 创建套接字
  udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  # 2. 绑定本地信息
  udp_socket.bind(("", 7890))
  # 3. 创建一个子线程用来接收数据
  t = threading.Thread(target=recv_msg, args=(udp_socket,))
  t.start()
  # 4. 让主线程用来检测键盘数据并且发送
  send_msg(udp_socket)
if __name__ == "__main__":
  main()

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

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

Python 相关文章推荐
跟老齐学Python之Python安装
Sep 12 Python
详解Python中的静态方法与类成员方法
Feb 28 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
python解压TAR文件至指定文件夹的实例
Jun 10 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
OpenCV利用python来实现图像的直方图均衡化
Oct 21 Python
Pytorch中Softmax与LogSigmoid的对比分析
Jun 05 Python
利用python实现PSO算法优化二元函数
Nov 13 #Python
使用python制作一个解压缩软件
Nov 13 #Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 #Python
基于python实现把图片转换成素描
Nov 13 #Python
Django连接数据库并实现读写分离过程解析
Nov 13 #Python
Pandas操作CSV文件的读写实现方法
Nov 13 #Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 #Python
You might like
php win下Socket方式发邮件类
2009/08/21 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
php实现的通用图片处理类
2015/03/24 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
javascript中的array数组使用技巧
2010/01/31 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
python使用tensorflow深度学习识别验证码
2018/04/03 Python
python实现猜数字小游戏
2020/03/24 Python
python计算n的阶乘的方法代码
2019/10/25 Python
python mysql中in参数化说明
2020/06/05 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
2020/11/12 Python
CSS3中各种颜色属性的使用教程
2016/05/17 HTML / CSS
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
新学期班主任寄语
2014/01/18 职场文书
运动会致辞稿50字
2014/02/04 职场文书
消防工作实施方案
2014/06/09 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
家装业务员岗位职责
2015/04/03 职场文书
行政处罚事先告知书
2015/07/01 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技