import socket
import threadingdef recv_msg(udp_socket):"""接收数据并显示"""# 接收数据while True:recv_data = udp_socket.recvfrom(1024)print(recv_data)def send_msg(udp_socket, dest_ip, dest_port):"""发送数据"""# 发送数据while True:send_data = input("输入要发送的数据:")udp_socket.sendto(send_data.encode("utf-8"), (dest_ip, dest_port))def main():"""完成udp聊天器的整体控制"""# 1. 创建套接字udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 2. 绑定本地信息udp_socket.bind(("", 7890))# 3. 获取对方的ipdest_ip = input("请输入对方的ip:")dest_port = int(input("请输入对方的port:"))# 4. 创建2个线程,去执行相应的功能t_recv = threading.Thread(target=recv_msg, args=(udp_socket,))t_send = threading.Thread(target=send_msg, args=(udp_socket, dest_ip, dest_port))t_recv.start()t_send.start()if __name__ == "__main__":main()

Python多线程--UDP聊天器相关推荐

  1. Python高级——用多线程实现UDP聊天器

    思路分析 1.功能:(1)发送消息 (2)接收消息 (3)退出系统 2.架构: (1)发送消息:send_msg() (2)接收消息:recv_msg() (3)主入口:main() 发送消息:(1) ...

  2. 如何用Python实现多任务版的udp聊天器

    这篇文章主要为大家详细介绍了Python实现多任务版的udp聊天器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 一.案例示例 二.案例说明 1.编写一个有2个线程的程 ...

  3. Python UDP聊天器

    注释:下面的逻辑分析思路来自李伟老师,感谢在python学习道路上提供的帮助. 程序需求说明: 在一个客户端中编写个程序,有3个基本的功能: 1.首先获取键盘数据,并将其发送给对方 2.对方接收数据并 ...

  4. python制作一个简单的udp聊天器

    UDP协议 英文名:User Datagram Protocol 中文名:数据报协议 协议说明:UDP是一种面向无连接的传输层通信协议. 举例:发短信,不需要双方建立连接,数据报的大小应限制在64k以 ...

  5. python实现udp聊天室_python网络编程基础--socket的简介,以及使用socket来搭建一个简单的udp小程序...

    socket介绍: socket(简称套接字),是进程间通讯的一个工具,他能实现把数据从一方传输到另一方,完成不同电脑上进程之间的通讯,它好比数据的搬运工. socket应用: 不夸张来说,只要跟网络 ...

  6. Python多线程连点器

    我们可以利用python的pyautogui库的点击函数制作连点器 但程序的运行速度有限 所以我们可以让多线程帮助我们解决问题 import time import threading         ...

  7. python多线程url采集器 + github_利用Python3.5多线程抓取妹子图

    很久之前就写了这个爬妹子图的Python爬虫,并且开源到Github上,然而居然没有人给小心心,虽然现在失效了,妹子图网站开启了反爬虫机制,但还是可以作为大家学习的样例,注释也很清晰. 0x01 起因 ...

  8. python多线程url采集器 + github_python实现多线程采集的2个代码例子

    代码一: #!/usr/bin/python # -*- coding: utf-8 -*- #encoding=utf-8 import threading import Queue import ...

  9. 多任务版udp聊天器

    import socket import threadingdef send_msg(udp_socket):"""获取键盘数据,并将其发送给对方"" ...

最新文章

  1. java实现套接字网络编程_Java网络编程(一)Socket套接字
  2. 「神策 2021 数据驱动大会」主会场回顾
  3. Adobe illustrator 魔棒工具批量操作 - 连载 7
  4. selenium与python自动化测试模拟登录百度
  5. cdn厂商 同兴万点_CDN牌照哪家强?阿里、腾讯牌照差异竟如此之大
  6. photorec_如何在Linux / Ubuntu中使用PhotoRec恢复已删除的文件
  7. npm 查看登陆账号_自定义npm 及问题整理
  8. LFSR(线性反馈移位寄存器)
  9. 一维码和二维码相关知识
  10. 亚马逊Amazon广告API如何申请注册?
  11. Prolog 语言入门教程(转)
  12. python图形包是什么_介绍Python 图形计算工具包
  13. Vue中的component
  14. web前端能做到多少岁
  15. 2_计算机网络_数据链路层-交换机-以太网-vlan-trunk
  16. 远程桌面大师android,远程桌面大师iPad版
  17. 毕业生求职必会算法 约瑟夫环问题
  18. java社区源码_Java论坛系统巡云轻论坛 v4.8
  19. 荣耀路由2 虚拟服务器,2019年性价比之王旗舰路由器---荣耀路由PRO2评测
  20. ArcGIS中城镇建设指向的灾害评价(地震)

热门文章

  1. Redis Cluster集群模式
  2. 关于C语言中继承和多态的实现
  3. 推辞掉得不是你的工作,而是你的未来
  4. sps及pps在解码器内传递过程
  5. VUE : 双重 for 循环写法、table 解析任意 list 、万能表格组件、解析一维数组、动态生成 table 所有数据
  6. 关于RESTful一些注意事项,接口开发规范
  7. InstallSheild 获取系统环境变量,如Desktop路径等
  8. linux 下php多版本安装
  9. ==与equal在java中应用的感悟
  10. 昂着头的艺术-伯爵在城堡的日记