随笔分类 - C++ 服务器开发
摘要:网络通信协议设计 1 粘包问题 粘包就是连续向对端发送两个或者两个以上的数据包,对端在一次收取中收到的数据包数量可能大于1个,当大于1个时,可能是几个(包括一个)包加上某个包的部分,或者干脆几个完整的包在一起。当然,也可能收到的数据只是一个包的部分,这种情况一般也叫作半包。 粘包问题示意: 解决办法
阅读全文
摘要:网络通信故障排查命令 5.1 ifconfig 命令 ifconfig 命令是查看当前系统的网卡和IP地址信息的常用命令。包含ifconfig命令的安装包。 yum install net-tools 查看: -s 查看精简列表: -a 显示所有的网卡信息: 激活或者禁用网卡: ifconfig 网
阅读全文
摘要:1 调试基础 1.1 携带调试信息 -g: 增加调试信息 -o0:关闭优化 注意生成的应用信息可以通过strip命令 去掉调试信息,具体strip的使用可以通过man strip查询 示例: 1.2 启动gdb调试 直接调试目标程序 gdb socket_server attach 到进程 gdb
阅读全文
摘要:1 C++ RAII 惯用法 三种处理方法: 1.1 使用goto语句 使用goto不能跳过变量得初始化; goto 在没有跳转时,会顺序执行goto语句; 注意:尽量不要使用goto,易造成程序混乱 1.2 使用do...while(0)循环 使用do...while(0) 跳出循环,保证异常处理
阅读全文