【Linux】Socket编程UDP

1. V1版本:Echo server

简单的回显服务器和客户端代码

思路:

插入知识点:

  • client端要不要显示bind的问题
  • getline( ):
cpp 复制代码
std::getline(输入流, 字符串变量);

第 1 个参数:输入流(从哪里读)
可以是:
      cin:从键盘读
      ifstream:从文件读
   作用:告诉函数去哪里读取一行文字
第 2 个参数:字符串变量(读到哪里去)
   必须是 std::string 类型
   作用:把读到的一整行文字存进这个变量里
         函数会清空它 → 写入新行

代码实现:

UDP简单回显服务器和客户端代码

2. V2版本:DictServer

思路:

代码实现:

DictServer封装实现

3. V3版本:简单聊天室

思路:

代码实现:

简单聊天室代码实现

4. 补充

4.1 地址转换函数

  • 字符串转in_addr的函数:
  • in_addr转字符串的函数:

4.2 关于inet_ntoa

inet_ntoa把结果放到自己内部的一个静态存储区,这样第二次调⽤、用时的结果会覆盖掉上一次的结果

在多线程环境下,推荐使用inet_ntop,这个函数由调用者提供一个缓冲区保存结果,可以规避线程 安全问题

相关推荐
MC皮蛋侠客7 小时前
DNP3 系列(十二):测试与工具链——模拟器、Wireshark 与一致性测试
网络·wireshark·dnp3
宵时待雨9 小时前
linux笔记归纳17:传输层协议UDP
linux·笔记·udp
观测云9 小时前
Fastjson 高危 RCE(CVE-2026-16723):如何用观测云快速发现并完成修复
网络·安全·可观测性·观测云
楷哥爱开发10 小时前
TikTok Shop新加坡本土店入驻:如何选择新加坡本土住宅IP?
网络·网络协议·tcp/ip
网安蟹佬霸11 小时前
# 网络流量分析实战:从Wireshark到入侵检测系统构建(2026最新版,附完整流量分析链与IDS规则集)
网络·测试工具·安全·开源·wireshark·密码学·哈希算法
昌原的儿子LEO13 小时前
进程和线程(2)
linux·服务器·网络
Zzzzmo_13 小时前
【网络原理】TCP/IP协议02
网络·tcp/ip
DianSan_ERP14 小时前
WMS接入电商平台自动化履约实战:一张订单从平台到出库的接口时序设计
java·前端·网络·数据库·安全·架构·自动化
数据知道14 小时前
漏洞挖掘方法论:从 Fuzz 到 0day 的思维框架
网络·安全·web安全·网络安全
智购科技自动售货机工厂14 小时前
2026自动售货机语音支付模块集成:从声纹识别到支付闭环的工程实践~YH
大数据·服务器·网络·数据库·人工智能