php如何处理socket发过来的消息包?(消息包包括消息头、消息体、校验和)
现在是怎么按协议分解和组合消息头,规定的消息头是4字节固定长度+内容长度。我要的不是socket的知识,只是要一些处理消息头,消息体,组合为二进制和c进行通信的知识...
现在是怎么按协议分解和组合消息头,规定的消息头是4字节固定长度+内容长度。我要的不是socket的知识,只是要一些处理消息头,消息体,组合为二进制和c进行通信的知识
展开
1个回答
展开全部
简单说两句,pack和unpack方法可以把二进制的数据变成人类认识的样子
其实结构体在内存中的样子就是分段pack出来之后连接(就是php那个 . )到一起
按照结构体定义知道长度之后,一段一段截取出来unpack
发的时候一段一段pack了连一块儿
需要注意某些长度不整(譬如char*)的字段,可能涉及到对齐问题(这个可能还跟c的编译器版本和编译参数有关)
其实结构体在内存中的样子就是分段pack出来之后连接(就是php那个 . )到一起
按照结构体定义知道长度之后,一段一段截取出来unpack
发的时候一段一段pack了连一块儿
需要注意某些长度不整(譬如char*)的字段,可能涉及到对齐问题(这个可能还跟c的编译器版本和编译参数有关)
追问
已经解决了,还是谢谢你
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询