1. import socket
  2. import threading
  3.  
  4. def send_msg(udp_socket,dest_ip,dest_port):
  5. while True:
  6. send_data = input("请输入要发送的内容:")
  7. udp_socket.sendto(send_data.encode("utf-8"),(dest_ip,dest_port))
  8.  
  9. def recv_msg(udp_socket):
  10. while True:
  11. recv_data = udp_socket.recvfrom(1024)
  12. print("\n%s接收到的内容是:%s " % (recv_data[1],recv_data[0].decode("gbk")))
  13.  
  14. def main():
  15. # 创建套接字
  16. udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
  17. # 绑定端口
  18. udp_socket.bind(("",7788))
  19.  
  20. # 要发送的ip和port
  21. dest_ip = input("请输入IP:")
  22. dest_port = int(input("请输入端口号:"))
  23.  
  24. # 创建接收和发送消息的线程 传参args= 要以元祖的形式传
  25. t_recv = threading.Thread(target=recv_msg,args=(udp_socket,))
  26. t_send = threading.Thread(target=send_msg,args=(udp_socket,dest_ip,dest_port))
  27.  
  28. # 启动线程
  29. t_recv.start()
  30. t_send.start()

多任务udp聊天器完整版的更多相关文章

  1. Python--网络编程学习笔记系列01 附实战:udp聊天器

    Python--网络编程学习系列笔记01 网络编程基本目标: 不同的电脑上的软件能够实现数据传输 网络编程基础知识: IP地址: 用来在网络中标记一台电脑  网络号+主机号(按网络号和主机号占位分类A ...

  2. 多任务版udp聊天器

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

  3. 应用:udp聊天器

    说明 在一个电脑中编写1个程序,有2个功能 1.获取键盘数据,并将其发送给对方 2.接收数据并显示 并且功能数据进行选择以上的2个功能调用 要求 实现上述程序 参考代码 import socketde ...

  4. udp聊天器

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

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

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

  6. python使用udp实现聊天器

    聊天器简易版 使用udp实现一个简单的聊天器程序,要求如下: 在一个电脑中编写1个程序,有2个功能 1.获取键盘数据,并将其发送给对方 2.接收数据并显示 并且功能数据进行选择以上的2个功能调用 例子 ...

  7. python—多任务版udp聊天机器人

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

  8. Jmeter关联之正则表达式提取器(完整版)

    Jmeter关联之正则表达式提取器(完整版)   在性能测试中,若想提取上一个请求的结果,作为下一次请求的参数,则需要使用关联~ 这篇博客主要讲jmeter正则表达式提取器的各种用法. 首先正则表达式 ...

  9. 一个紧张刺激的聊天器,要不要进来看看(Python UDP网络模型)

    先来哔哔两句:(https://jq.qq.com/?_wv=1027&k=QgGWqAVF) 互联网的本质是什么?其实就是信息的交换.那么如何将自己的信息发送到其他人的电脑上呢?那就需要借助 ...

随机推荐

  1. java学习笔记(7)--链表

    标签(空格分隔):笔记 java其实已经将很多底层的数据结构进行了封装,虽然工作用不到,但是笔试和面试问的还是比较频繁的,而且这种面试题还是直接手撕代码,故专门总结一下. 1. 概念 1.1 链表(L ...

  2. 网页授权access_token,基础支持access_token,jsapi_ticket

    微信开发中网页授权access_token与基础支持的access_token异同 问题1:网页授权access_token与分享的jssdk中的access_token一样吗? 答:不一样.网页授权 ...

  3. 031 Android 异步任务(AsyncTask)

    1.介绍 AsyncTask(了解即可),重点掌握Handler+Thread 2.实现方法 3.执行步骤 4.java后台 package com.lucky.test36asynctask; im ...

  4. [转帖]TPC-C解析系列04_TPC-C基准测试之数据库事务引擎的挑战

    TPC-C解析系列04_TPC-C基准测试之数据库事务引擎的挑战   http://www.itpub.net/2019/10/08/3331/ OceanBase这次TPC-C测试与榜单上Oracl ...

  5. PB自动换行

    1.在DataWindow Painter中打开DataWindow; 2.在需设定自动折行的列上单击, 查看右侧的属性窗口: 3.点击Position标签, 选中Autosize Height 多选 ...

  6. python装饰器无参及有参案例

    装饰器无参和有参案例:

  7. 在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题)

    原文:在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉 ...

  8. 文件流FileStream的读写

    1.FileStream文件流的概念: FileStream 类对文件系统上的文件进行读取.写入.打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道.标准输入和标准输出.读写操作可以指定 ...

  9. java 爬虫:开源java爬虫 swing工具 Imgraber

    1实现点: 1.返回给定URL网页内,所有图像url list 2.返回给定URL网页内,自动生成图像文件路径.txt 文件 3.返回给定URL网页内,下载txt文件指定的图片url,并将所有图像保存 ...

  10. iview的table中Tooltip的使用

    这篇文章主要介绍了iview-admin中在table中使用Tooltip提示效果. 1. table中文字溢出隐藏,提示气泡展示所有信息 jLongText(item){ item.render = ...