用C结构设计消息协议具有以下缺点:
1、要保证服务器和客户端都是C写的
2、要保证大小端对齐方式一致
3、用C结构设计消息协议如果语言不同进行编码转换工作量会变成非常繁琐
4、消息也都是定长的
5、消息内容受pod类型限制,不能发送过于复杂的数据消息
总体来说完全不推荐使用此方法除非维护一些非常古老的服务器框架要用这种方式
以下是根据asio库聊天室例子改写的代码功能增加了聊天的时候能知道对方name:
C结构体设计消息协议部分:
//structheader.h
#ifndef FND_STR