import socket
import threadingdef send_msg(udp_socket):"""获取键盘数据,并将其发送给对方"""while True:# 1. 从键盘输入数据msg = input("\n请输入要发送的数据:")# 2. 输入对方的ip地址dest_ip = input("\n请输入对方的ip地址:")# 3. 输入对方的portdest_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()

  

-------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

多任务版udp聊天器相关推荐

  1. python实现多人聊天udp_python—多任务版udp聊天机器人

    将多任务(多线程)引入到udp聊天机器人,可以实现同时发送消息和接收消息 1 import socket 2 import threading 3 4 5 def udp_send(udp_socke ...

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

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

  3. Python多线程--UDP聊天器

    import socket import threadingdef recv_msg(udp_socket):"""接收数据并显示"""# ...

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

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

  5. Python UDP聊天器

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

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

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

  7. python网络聊天器多线程版

    在之前的一篇文章(python网络编程-udp)中实现了一个简单的udp聊天器,只能在单线程下进行收发数据,在学习完多线程之后,实现一个能同时收发数据的udp聊天器. 说明: 编写一个有2个线程的程序 ...

  8. 基于JAVA-SOCKET的简易聊天器

    经过对socket编程的学习,结合前人已做出的聊天器,加以修改后,最终地,制作出JAVA版简易聊天器. 以下是代码: client类 public class Client{private JFram ...

  9. python 关闭udp端口_UDP聊天器

    使用socket进行通讯,通讯方式IPv4, UDP. 包含端口固定,如果未收到数据,程序会处于阻塞状态 语言:python #!/usr/bin/env python # encoding: utf ...

最新文章

  1. 2019手机浏览器排名_浏览器排行榜2019年1月浏览器市场份额排名
  2. win10任务栏怎么还原到下面_Windows10 系统桌面底部的任务栏在侧边了怎么还原
  3. 图解用tree命令研究Windows目录、.net目录、项目目录、JDK目录
  4. pta龟兔赛跑Java_PTA-龟兔赛跑
  5. 牛客网挑战赛24 青蛙(BFS)
  6. 虚拟机的ip地址为什么会发生变化
  7. 任意点 曲线距离_中级数学11-曲线函数
  8. 微盟合作,重磅推出全免费的H5专业营销平台,快速创建第一个H5活动(捷微H5)
  9. matplotlib绘制箭头
  10. 前端—每天5道面试题(8)
  11. mysql 5.5多实例部署
  12. MySQL建表语句解析表名
  13. 2021必收藏!Java编程技巧之单元测试用例编写流程
  14. 10分钟JAVA从入门到放弃
  15. 【谈谈疫情+金三银四下测试面试的行情】一个月内连续面试40+位候选人。
  16. idea中更换java版本
  17. (2)Django---用命令创建项目
  18. android里面通过scp上传文件
  19. 关于selenium调用firefox浏览器的调试
  20. 【Security】可信网络连接

热门文章

  1. InputStreamReader/OutputStreamWriter乱码问题解决
  2. Android 下载文件并显示进度条
  3. 微寻,把“线下医院”带到“线上轻松问诊”
  4. 越阳刚的男人越容易生女孩
  5. 11月21日spring mvc的表单校验培训日记
  6. Firefox beta 开始原生支持 Windows 10 ARM64
  7. FTP的主动模式和被动模式,你应该用那种?
  8. 今天玩了一晚Vs2005,差点吐血!
  9. 强制解包看 Swift 的设计
  10. jmeter的两种参数化方法