【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,这个函数由调用者提供一个缓冲区保存结果,可以规避线程 安全问题

相关推荐
boxiansheng1632 小时前
408计算机网络
网络·计算机网络·智能路由器
闲云野鹤在人间2 小时前
docker 入门 | 第5章 网络详解
网络·docker·架构·华为云·php
orange....2 小时前
VMware 双网卡配置:宿主机切换网络时 Ubuntu 固定 IP 访问方案
网络·ubuntu·网络安全
yi碗汤园3 小时前
MQTT消息队列遥测传输协议
网络·网络协议·unity
吴声子夜歌4 小时前
Shell编程实例——高级脚本编程(一)
linux·运维·网络·shell
深圳光特通信豆子5 小时前
1×9光模块DDM数字诊断监控技术手册
网络·物联网
云边云科技_云网融合5 小时前
从一盘散棋到一张蓝图:某连锁集团的云上重构
网络·科技·云计算
ao-weilai6 小时前
Linux网络编程:Socket UDP
linux·服务器·网络·c++
Quanqiucard6 小时前
监控用物联网卡如何优化管理,降低安防项目通信成本
网络·物联网
Ivanqhz7 小时前
矩阵引擎的数据流模式与 BM1684X 架构
java·服务器·网络·深度学习·神经网络