c语言和java 使用socket通信的时候 数据大小端转换的问题
答案:3 悬赏:50 手机版
解决时间 2021-12-25 12:09
- 提问者网友:富士山上尢
- 2021-12-24 18:44
c 传输给 java的数据 java可以解析出来,java传输给 c的数据 c 解析不出来,求解决问题,分不是问题
最佳答案
- 五星知识达人网友:往事埋风中
- 2021-12-24 19:32
大小端转换就是移位,拼接,用C实现很简单。
至于解析出问题,可以约定双方以字节流进行通信,比如,约定一个浮点数拆成文本,或者一个32位长整拆成四个字节,先传送低字节(或高字节),约定好以后,两边都照做就可以了。
至于解析出问题,可以约定双方以字节流进行通信,比如,约定一个浮点数拆成文本,或者一个32位长整拆成四个字节,先传送低字节(或高字节),约定好以后,两边都照做就可以了。
全部回答
- 1楼网友:毛毛
- 2021-12-24 20:36
建议你使用字节流操作,因为java与c使用流在通信的时候,解析字符流不一样,就会出问题
- 2楼网友:想偏头吻你
- 2021-12-24 20:28
我也搞网络编程搞好久了,大小端这个问题倒是没有遇到过啊,我同事做Java,我做IOS都一样的,都是小端的。
建议你用抓包软件抓下包看看,还有就是注意发送时数据对齐问题,不同的系统可能一样的类型长度就不一样,比如在mac系统中long型有8字节,但是在IOS、VC中就只有四个字节,一般使用socket发送数据时都是打包发送的(头部一般都是固定的结构体),这个问题必须要注意
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯