python实现的udp-收发聊天器

python高级 笔记 05(网络通信UDP) UDP接收端绑定ip ''' 1.导入模块 2.创建套接字 3.绑定端口 4.接受对方发送的数据 5.解码数据 6.输出显示 7.关闭套接字 ''' # 1.导入模块 import socket # 2.创建套接字 UDP_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # 3.绑定端口 UDP_socket.bind(("192.168.150.25",6666)) # UDP_socket.bind(("127.0.0.1表示本机ip地 阅读详情

构建思想:创建三个函数,最后一个函数调用前两个

1.创建发送函数-send()

2.创建接收函数-recv()

3.创建调用函数(主函数)-main()

import socket


def send(udp_socket):
    """创建从键盘接收的信息"""
    msg = input("\n请输入要发送的数据:")
    """键盘输入ip"""
    destip = input("\n请输入对应的ip:")
    """键盘输入port"""
    destport = int(input("\n请输入对应的port:"))
    """发送数据"""
    udp_socket.sendto(msg.encode("utf-8"), (destip, destport))


def recv(udp_socket):
    """接收数据"""
    recv_data = udp_socket.recvfrom(1024)
    """解码数据"""
    recvip = recv_data[1]
    recvmsg = recv_data[0].decode("gbk")
    """格式化打印数据"""
    print("%s:%s", (str(recvip), recvmsg))


def main():
    """创建套接字"""
    udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    """对端口号进行绑定"""
    udp_socket.bind(("", 7878))
    """循环实现相应的功能"""
    while True:
        print("-" * 30)
        print("1:发送信息")
        print("2:接收信息")
        print("exit:关闭运行")
        print("-" * 30)
        op_num = input("请输入相应的功能模块:")
        if op_num == "1":
            send(udp_socket)
        elif op_num == "2":
            recv(udp_socket)
        elif op_num == "exit":
            break
        else:
            print("输入错误,请重新输入")

实现结果如下:

开始运行界面

 

实现功能:发送信息

实现功能:接收信息

RK3588部署Zipformer模型问题总结 本文分享了在RK3588嵌入式设备上部署小米Zipformer语音识别模型时遇到的问题及解决方法。主要遇到两个问题:1)在rknn_model_zoo例程编译时出现静态库版本不兼容,通过重新编译kaldi-native-fbank库并修改链接路径解决;2)sherpa-onnx编译时提示缺少portaudio库,通过修改编译脚本启用相关宏定义后成功编译。最终成功在RK3588上运行Zipformer模型,测试结果显示该模型具有较好的识别效果和实时性(RTF=0.22),验证了其在边缘设备上的适用性。 阅读详情

相关推荐

量子密钥分发(QKD)原理、工程实现与实战部署全解析

密钥分发是信息安全的核心基础,它解决了通信双方如何安全共享秘密密钥的难题。传统方法依赖于数学问题的计算复杂性,而量子密钥分发(QKD)则基于量子力学原理,为密钥分发提供了信息论安全的物理保障。其核心价值在于,利用量子不可克隆定理和测量坍缩原理,使得任何窃听行为都会被合法通信方检测到,从而在理论上实现无条件安全的密钥协商。这项技术特别适用于对安全性要求极高的场景,如金融数据同步、政务专网和电力系统保护。本文聚焦于量子保密通信,深入剖析了以BB84协议为代表的QKD工作原理,并详细拆解了包含单光子探测、偏振编码

weixin_29324401的博客 345

python recvfrom函数详解_recvfrom函数详解

int ret; srtuct sockaddr_in from; ret=revcfrom(sock,recvbuf,BUFSIZErecvfrom函数用于从(已连接)套接口上接收数据,并捕获数据发送源的地址。 本函数用于从(已连接)套接口上接收数据,并捕获数据发送源的地址。 对于SOCK_STREAM类型的套接口,最多可接收缓冲区大小个数据。udp的recvfrom函数,能接收指定ip和端口发...

weixin_32357285的博客 1万+

VMware Workstation Pro 17 高效安装与激活指南

本文详细介绍了VMware Workstation Pro 17的高效安装与激活方法,包括系统要求、安装步骤、常见问题解决方案及性能优化技巧。通过专业的指导,帮助用户快速掌握这款强大的虚拟机软件,提升工作效率。

weixin_29322855的博客 402

python recvfrom函数详解_UDP协议的两个主要方法sendto和recvfrom详解

简述:接收一个数据报并保存源地址。#include int PASCAL FAR recvfrom( SOCKET s, char FAR* buf, int len, int flags,struct sockaddr FAR* from, int FAR* fromlen);s:标识一个已连接套接口的描述字。buf:接收数据缓冲区。len:缓冲区长度。flags:调用操作方式。from:(可选...

weixin_39622398的博客 934

StarRocks FE启动异常

服务器断电,StarRocks FE 启动失败。

qq_15138049的博客 1112

Versal - 从零构建Petalinux 2024.2 AI边缘计算平台(VD100+SDT+JupyterLab实战)

本文详细介绍了如何从零开始,基于AMD Versal VD100开发板和Petalinux 2024.2构建AI边缘计算平台。内容涵盖开发环境搭建、Petalinux工程创建与配置、SDT新流程实战、启动SD卡制作,并最终集成JupyterLab与Conda,打造出开箱即用的交互式AI开发环境,帮助开发者快速进行算法验证与部署。

5f4d3s2a1q的博客 487

python recvfrom函数详解_Python总结之 recv与recv_from

在udp编程中,会发现,在利用socke接收数据时用的时recv_from,在tcp编程中用的是recv。但是,细心的你会发现,udp中接收端口的时recv_rom,在tcp中则是accept,为什么呢?因为recv的recvfrom是可以替换使用的,只是recvfrom多了两个参数,可以用来接收对端的地址信息,这个对于udp这种无连接的,可以很方便地进行回复。下面是源码:def recvfrom...

weixin_39533896的博客 2188

【新华三】通过路由复制实现Public与VRF路由互通

如上图所示,S6900设备里有两张表,一张是public路由表,默认所有的路由都存放在public路由表里;除此之外还创建了VRF test,因此此设备还有VRF test路由表。通过路由复制实现Public路由和VRF路由互通,默认情况下VRF里的路由单独一张路由表,默认情况下与public路由表相互隔离,两张表之间不可互访。此时的public路由表里面并没有test的路由表。public路由表与VRF路由表之间相互隔离。此时VRF test里的路由也没有其他VRF或Public里的路由,相互隔离。

五大连池的镜子 5278

用python写一个udp 通信

可以使用Python来编写UDP通信程序,下面是一个简单的示例:import socket# 创建socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 绑定端口 s.bind(('127.0.0.1', 8080)) while True: # 接收数据 data, addr = s.recvfrom(1024) ...

weixin_42600407的博客 224

PHP与Node.js的对比及优缺点分析

PHP和Node.js是两种常用的服务器端编程语言,它们在不同的应用场景下各有优势和劣势。本文将全方位比较PHP和Node.js的特点,以及它们在编程中的优缺点,并提供相应的源代码示例供参考。需要注意的是,本文只是对PHP和Node.js的一些优缺点进行了简要介绍,实际应用中还需要考虑其他因素,如团队经验、项目规模和预算等。最终的选择应该基于全面的评估和需求分析。PHP:PHP是一种同步阻塞的编程语言,它的处理方式是一次只处理一个请求。Node.js:Node.js的性能较高,特别适合处理高并发的请求。

ByteSparkX的博客 888

092、Python在芯片验证中的应用:从脚本小子到验证架构师

Python在芯片验证中的高效应用 本文通过实际案例展示了Python在芯片验证中的关键作用。凌晨三点的调试场景揭示了传统方法的局限,Python脚本能在20分钟内分析80GB波形数据定位FIFO指针问题。文章重点介绍了两个核心工具: 智能日志分析系统:通过正则表达式和上下文分析,自动分类百万行验证日志中的错误,生成可视化报告,效率远超传统grep方法。 寄存器模型生成器:将Excel表格自动转换为UVM寄存器模型代码,将原本需要两周的手工工作缩短至两小时,同时保证零错误。 文章还展示了Python与Sys

z534437748的博客 72

python接收udp包函数_python实现的udp-收发聊天器

构建思想:创建三个函数,最后一个函数调用前两个1.创建发送函数-send()2.创建接收函数-recv()3.创建调用函数(主函数)-main()import socketdef send(udp_socket):"""创建从键盘接收的信息"""msg = input("\n请输入要发送的数据:")"""键盘输入ip"""destip = input("\n请输入对应的ip:")"""键盘输入po...

weixin_39654436的博客 358

【uniapp踩坑记】App Store上传失败:Invalid Swift Support错误怎么解决?

作为一个前端出身的开发者,用 uniapp 开发原生 App 已经够挑战了,打包 iOS 上传 App Store 更是处处暗雷。这次的坑虽然小,但确实容易忽略。如果你也遇到了类似的报错,希望这篇文章能帮你少踩一次坑!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1143

案例:多任务udp聊天器

收和发不能同时进行 通过多线程来解决 import socket import threading def recv_msg(udp_socket): """接收数据并显示""" # 接收数据 while True: recv_data = udp_socket.recvfrom(1024) print(recv_d...

moonlightpeng的博客 245

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

UDP聊天器02 使用单双工模式收发数据

UDP聊天器02 使用单双工模式收发数 我们通过同一个套接字可以实现收和发两个操作,具体代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- # import socket def send_msg(udp_socket): ip = input('请输入ip地址:') port = int(input('请输入端口号:')) ...

会飞的猪的博客 342

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python-网络编程(socket简易聊天器)

关于socket通信的定义和原理,我们再熟系不过了,这里就不在赘述,不了解的读者可以参考博客: https://www.cnblogs.com/wangcq/p/3520400.html  这里讲的很明白。 以前,使用C/C++、Java都实现过,最近学习Python,又实现了一遍;不得不说,Python的代码真的是十分简洁(在我心中完全取代了Java),也可以看出socket真的是网络编程...

lph-China的博客 1603

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

UDP聊天器和TCP的收发数据

UDP聊天器import socketdef send_msg(udp_socket):    """发送消息"""    send_msg = input('请输入要发送的数据:')    send_ip = input('请输入接收消息的IP地址:')    send_port = int(input('请输入要接收消息的端口号:'))    send_addr = (send_ip, sen...

学海无涯 542

多任务-python实现-UDP多线程聊天(2.1.6)

多任务UDP聊天1.案例 1.案例 代码实现 import threading import time import socket def rev_msg(udp_socket): while True: recv_data = udp_socket.recvfrom(1024) print("接来自%s收到的数据:%s" % (str(recv_...

BothSavage 378

python 多线程udp聊天器聊天记录版(v1.1) 难易度:*

1.python udp聊天器 (1)包 threading socket 2.功能: (1)udp连接 收发消息 (2)记录聊天记录 import threading import time import socket class Udp_chat(): user1 = ('172.20.10.5',7000) #地址 hu # udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #创建UDP

weixin_44765296的博客 3925

使用python实现多任务版udp聊天室

注意:本练习需要安装网络调试助手 import socket import threading def recv_msg(udp_socket): while 1: recv_data = udp_socket.recvfrom(1024) #接收数据 print(recv_data) def send_msg(udp_socket, dest_ip, dest_port): while 1: ...

mrdjrfy的博客 243

使用python实现 tcp/udp 多线程聊天器

套接字格式: socket(family,type[,protocal]) 使用给定的地址族、套接字类型、协议编号(默认为 0)来创建套接字。 socket 类型 socket.AF_UNIX 只能够用于单一的 Unix 系统进程间通信 socket.AF_INET 服务器之间网络通信 ipv4 socket.AF_INET6 IPv6 socket.SOCK_STREAM 流式 ...

qq_29176323的博客 1486

python高级 笔记 06 (使用UDP编写一个聊天器)

UDP聊天器 3个功能 1.获取键盘数据,将其发送给对方 2.接受数据并显示 3.退出聊天系统 函数拆分 Send_msg() 发送信息 Recv_msg() 接受信息 main() 主入口 发送信息 input() Udp_socket_sendto(content.encode(),(ipaddr,int(port))) 接受信息 recv_data,recv_text = recvfrom(1024) 代码 ''' 一。功能 1.发送信息 2.接受信息 3.退出系统 二。框架设计 1.发送信息 se

weixin_46969441的博客 1418

网络编程---UDP

UDP

weixin_44872216的博客 114

python网络编程Ⅱ

python网络编程Ⅱ 1.Demo Demo5-udp循环发送数据 一个程序将要发数据时没有端口号,操作系统会分配一个端口号,以后该程序就使用该端口号。 关闭程序后重新运行,端口号改变。 import socket def main(): #创建一个udp套接字s s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #udp #可以使用套接字收发数据 #dest_addr=("192.168.44.1",8082)

gyuan_的博客 256

【Socket】多线程实现UDP聊天器(全双工)>>“与网络调试助手对话”

写了一个UDP的代码和网络调试助手进行交互,实现简单的聊天功能。使用了socket进行收发数据,thread实现多线程操作。 关于网络调试助手:链接自取 密码:v9b5 代码: import socket import threading def recv_msg(udp_socket): """接受数据并显示""" # 接受数据 while True: ...

桺柒郞的小小屋 730

python多任务_【python】多任务(1. 线程)

线程执行的顺序是不确定,可以通过适当的延时,保证某一线程先执行基础语法# 多线程的使用方式import threadingdef test1():...# 如果创建Thread时执行的函数,运行结束,那么意味着,这个子线程结束了def test2():...def main():t1 = threading.Thread(target=test1)t2 = threading.Thread(tar...

weixin_35756637的博客 95
上一篇: python-网络-udp
下一篇: python-网络-tcp
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦途的测试笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值