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 小时前
Python 2025:低代码开发与自动化编程新纪元
运维·低代码·自动化
Feng_Ye716 小时前
嵌入式开发笔记(1)
linux·c语言·嵌入式硬件·系统命令
egoist202316 小时前
[linux仓库]深入解析Linux动态链接与动态库加载:理解背后的原理与技巧
linux·服务器·编辑器·动态库·got
moxiaoran575316 小时前
linux普通账号管理
linux·运维·服务器
chilavert31816 小时前
技术演进中的开发沉思-119Linux命令篇:系统设置命令(上)
linux·运维·服务器
半桔16 小时前
【网络编程】深入 HTTP:从报文交互到服务构建,洞悉核心机制
linux·网络·c++·网络协议·http·交互
飘忽不定的bug17 小时前
RK3568移植RM500U-PCIE模块
linux·pcie·rm500g
ayaya_mana17 小时前
Docker常见问题与解决
运维·docker·容器
数据皮皮侠18 小时前
中国绿色制造企业数据(绿色工厂|绿色供应链|绿色园区|绿色产品,2017-2023)
大数据·运维·服务器·人工智能·制造·微信开放平台
王家视频教程图书馆18 小时前
关于docker pull不了相关资源
运维·docker·容器