Linux第十五讲:Socket编程UDP

Linux第十五讲:Socket编程UDP

1.echo server

echo server:写一个服务器,客户端向服务器发送什么,就返回什么,下面我们来实现一下:

1.1服务端代码 -- 获取消息,发送消息

总体代码展示:

1.2客户端代码

1.3知识补充

2.字典查找功能实现

我们想让服务器做这样的一个功能:客户端向服务端输入一个英文单词,服务端将翻译的中文返回并打印给客户端。目的是理解不同的文件之间的沟通:

2.1拓展知识

3.聊天室的实现 -- V1版本

我们想实现类似群聊的功能,当一个客户端向服务器发送消息,为了让群聊中的所有人都看到,服务器需要将消息向所有在群聊中的人再发送一遍:

3.1V2版本 -- 一个线程发送消息,一个线程接收消息

这样就可以互相看到了:

3.2V3版本 -- 将发消息任务放到任务队列中,使用线程池派发任务

4.补充知识

4.1地址转换函数 -- inet_pton inet_ntop && inet_ntoa线程不安全问题

4.2Rout -- 消息路由功能线程不安全问题

4.3Windows和Linux互相通信操作

Windows和Linux通信调用的接口(sendto)是完全一样的,但是会有细微的差别,可以直接进行通信!

4.4InetAddr细节问题

相关推荐
Ruiery12 分钟前
Linux 6.6内核 CPU 深度解析(七):调度器启动 — 从单核到多核,调度器分阶段点亮
linux·运维·服务器
50万马克的面包15 分钟前
CSDN-栈队列数组-知识点整理
linux·运维·服务器
MicrosoftCloud1 小时前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
wjkjpcba2 小时前
PCBA烧录程序是什么:PCBA包工包料厂家解析烧录与测试
linux·数据库·人工智能·smt贴片加工·pcba贴片加工厂
꯭自꯭闭꯭2 小时前
达梦事物特性及MVCC
linux·运维·数据库
亚川楼宇自控系统数据中心厂家3 小时前
实验室智能化管理系统|人环物智一体化管控平台
运维
羔羊++4 小时前
18_实验十七_其他命令与自定义启动变量
linux
zmsup5 小时前
Agent 上下文调优:结合 OpsArk 运维智能体,设计模型每一步真正需要的信息
运维·agent·上下文压缩·运维智能体·上下文调优
DYWorker0016 小时前
Linux驱动:RK3568 GMAC + YT8531C 千兆以太网全流程解剖
linux
吴声子夜歌7 小时前
Nginx应用与运维——Nginx负载均衡应用实战(二)
运维·nginx·负载均衡