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

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

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

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

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

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

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

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

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

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

相关推荐
G_H_S_3_10 分钟前
【网络运维】Linux 文本处理利器:sed 命令
linux·运维·网络·操作文本
绝缘体133 分钟前
折扣大牌点餐api接口对接适合本地生活吗?
大数据·网络·搜索引擎·pygame
猿究院--王升1 小时前
HTTP的协议
网络
猿究院--冯磊2 小时前
计算机网络--HTTP协议
网络协议·计算机网络·http
G_H_S_3_2 小时前
【网络运维】Linux:正则表达式
linux·运维·网络·正则表达式
元清加油3 小时前
【Goland】:协程和通道
服务器·开发语言·后端·网络协议·golang
腾科张老师4 小时前
OSPF 典型组网
网络·智能路由器
2301_801673019 小时前
8.19笔记
网络·安全
三坛海会大神55513 小时前
计算机网络参考模型与子网划分
网络·计算机网络
云卓SKYDROID13 小时前
无人机激光测距技术应用与挑战
网络·无人机·吊舱·高科技·云卓科技