多任务udp聊天器完整版
2024-08-27 11:32:37
import socket
import threading 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 recv_msg(udp_socket):
while True:
recv_data = udp_socket.recvfrom(1024)
print("\n%s接收到的内容是:%s " % (recv_data[1],recv_data[0].decode("gbk"))) def main():
# 创建套接字
udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 绑定端口
udp_socket.bind(("",7788)) # 要发送的ip和port
dest_ip = input("请输入IP:")
dest_port = int(input("请输入端口号:")) # 创建接收和发送消息的线程 传参args= 要以元祖的形式传
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()
最新文章
- WPF入门教程系列七——布局之WrapPanel与StackPanel(二)
- mysql死锁问题
- ATS连接 https
- Linux EMACS的简单使用
- leetcode problem (2-4)
- Android -- 双击退出
- 可以打开mdb文件的小软件
- java合并list
- 解决,Incorrect table definition; there can be only one auto column and it must be defined as a key
- linux之ls -l|grep ";^-";|wc -l命令
- python 基础技巧
- [附POC]Apache Struts2最新(CVE-2017-5638,S02-45)POC
- Java编程思想学习笔记——复用类
- LeetCode 192. Word Frequency
- day7回顾
- Spark Pregel参数说明
- MySQL语法相关其一
- django无法加载样式
- Tensorflow框架之AlexNet
- 安装好Oracle Client以后没有tnsnames.ora文件