network - linux 网络编程 打印接收数据包
PHP中文网
PHP中文网 2017-04-17 13:40:16
[Linux讨论组]

server在接收到client通过UDP传送的数据包之后,打印出来

printf("%02x ",buff);

其中buff是char数组,且足够大,server也可以正常解析,但是打印出的结果竟然是

00 11 22 33 45 56 aa ab
98 ff fe a2 d3 25 78 c6
f2 ffffffd3 ffffffc4 11 22 33 44 55
...

很明显,d3--->ffffffd3 , c4--->ffffffc4
请问这是怎么回事?谢谢

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
巴扎黑

数据包里的内容,也就是打印出来的00 11 22 33等这些数据是client自己写进去的么?出现一串f很有可能是数据类型转换的问题,比如原本是unsigned char的数据,server收到存储为char类型,打印出来就会多了一堆f,可以检查一下这方面

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号