实现一个简单的网络通信下(udp)

时间过去好久了,先回忆一下上一篇博客的代码!!

目前来看,我们客户端发一条消息,我服务器收到这一条消息之后呢,服务器也知道了是谁给我发来的消息,紧接这就把这条消息放进buffer当中,在把我们的 用户IP和端口号,提取出来当作我们 的key插入我们的用户管理当中,在发回给客户端

那么我们接下来在干一件事,在加一个客户端

但是这时候127.0.0.1 - 42909这个客户端并没有"你好l"这一条消息,这个客户端的IO 被阻塞了

而我们现在想要的效果是,我服务端发送消息,在服务端用户管理当中的用户,都能收到这一条消息,并且哪怕我的这个用户不向服务端发送消息,也依然能收到来自服务端的消息

那么我们就需要把我们的客户端改一下,引入我们的多线程,让我们的一个线程发消息,一个线程收消息

这样,我们的读写两个线程的回调方法就写好了

发现此时我们的多线程读写,用的sock都是同一个,sock代表的就是文件(我们是没办法对同一个文件同时又是读又是写的),但是在这边是没有问题的,我们的udp是全双工的 --> 可以同时进行收和发,而不受干扰

但是此时,一个客户端把要发的和要收的消息,混在一起了,我们可以分开来

相关推荐
汤姆yu1 小时前
Gemini 4 Argon模型综述:技术、能力与实际使用指南
网络·安全·web安全·ai·大模型
Seraphina362 小时前
SQL注入(二)盲注
网络·数据库·经验分享·笔记·sql
DP DPharness2 小时前
StudyMate 从安装到第一节课的完整操作路径
人工智能·websocket·网络协议·智能手机·dpharness
2401_868534783 小时前
无线网络规划设计
服务器·网络
螺蛳粉 螺蛳粉3 小时前
第二篇:keepalived VRRP 原理篇:协议与 VIP 漂移机制深入解析
网络·智能路由器·负载均衡·keepalived·高可用
盟接之桥3 小时前
AI助手:你的7×24小时智能管家——让异常预警无处不在
大数据·网络·数据库·人工智能·制造·ai编程
2603_969579285 小时前
内网数据自动备份工具:隔离网络下的数据保护方案
网络
逗脑IDE5 小时前
零基础学ESP32:RFID无线射频卡——让ESP32拥有“刷卡“能力!
开发语言·网络·人工智能·python·esp32·硬件开发
流浪0015 小时前
计算机网络篇3:端口号与 socket:数据到达主机后,如何找到目标进程?
计算机网络·udp·tcp·端口·网络字节序
cws2004015 小时前
监控摄像头选型指南
运维·网络·监控