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细节问题

相关推荐
小白银子15 分钟前
零基础从头教学Linux(Day 54)
linux·windows·python
---学无止境---20 分钟前
Linux中inode节点号的获取相关函数的实现
linux
一文解千机23 分钟前
Termux 安装盘搜搜PanSou,快速找到网盘资源链接,支持各大网盘,自定义部署,数据存储到手机,打造移动搜索资源库
linux·termux·盘搜搜·pansou·资源搜索·网盘资源链接搜索·手机网盘搜索
小蜗快跑丶1 小时前
内网构建https
运维·服务器
啊森要自信1 小时前
【MySQL 数据库】使用C语言操作MySQL
linux·c语言·开发语言·数据库·mysql
做运维的阿瑞1 小时前
DevOps 生命周期完全指南
运维·容器·devops
BullSmall1 小时前
Ansible三大Web界面方案全解析
运维·ansible
东城绝神1 小时前
《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.22容器版分片集群》
linux·运维·mongodb·架构·分片集群
Akamai中国2 小时前
运维逆袭志·第4期 | 安全风暴的绝地反击 :从告警地狱到智能防护
运维·人工智能·云计算·云服务·云存储
peiwang2452 小时前
Linux系统中CoreDump的生成与调试
java·linux·开发语言