问个关于java和cpp通信的问题 多谢楼上的,我也顶一下,好像是cpp的问题,java可以的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 网络传输是双方的问题,不能单纯说是哪方的问题。你提出的问题没有描述得很清楚,不好判断。cpp是不是你写的?传输数据的具体协议? 那边超过一定长度要切包,你这里用Java到一定长度就要分包。否则两边处理不一致,当然就没有包头了^_^ to taolei:协议用的TCP/IP协议。java这边发送之前,都会检查一下长度是否达到最大长度,超长的话,会重新设置socket的send length。to zyg158:java这边切包的话,cpp那边就得组包,有没有更方便的解决方法?? cpp接受到超过1440的包,都会按照1440一个接一个的接受包数据。如:325的包就会收到一个包:3251765的包就会收到2个包:1440-3253250的包就会收到3个包:1440--1440--325类推…… 做高层应用没有这么麻烦吧,只需把数据发出去,tcp/ip会自动分包传送,到达客户端之后会自动组合,服务器端和客户端都不用处理.如果你是做底层的程序的话,只有自己来分包组包了. 搂主大概对tcp/ip数据流还不是很了解,如果cpp那边不是你写的话,你可以去请教一下写cpp那位前辈。 按楼主的意思(cpp切包是指收到包后再切,还是分包接收数据?):应该在java这边作判断,如果发送字节数据小于1440,数据当作一个包发送;如果发送字节数据大于1440,分包发送:1765的包就会收到2个包:1440-325;3250的包就会收到3个包:1440--1440--325。如果java这边已经与cpp有一个常连接,发送数据包是“自由的”。 myeclipse的部署时出的问题 java调用bat文件的性能问题 Hibernate主键一定是id么? JS 提交问题 请问axis下开发的webservice解析xml格式串的String参数的问题? struts中上传图片 请教网站C/S架构做法? 就剩20分了,期待高人的帮助。。 ibatis自动生成工具要怎么用?急 Struts html:link tag的问题 页面跳转问题 求助最佳解决方案.SOS!
传输数据的具体协议?
否则两边处理不一致,当然就没有包头了^_^
java这边发送之前,都会检查一下长度是否达到最大长度,超长的话,会重新设置socket的send length。
to zyg158:
java这边切包的话,cpp那边就得组包,有没有更方便的解决方法??
如:
325的包就会收到一个包:325
1765的包就会收到2个包:1440-325
3250的包就会收到3个包:1440--1440--325
类推……
如果你是做底层的程序的话,只有自己来分包组包了.
如果发送字节数据大于1440,分包发送:1765的包就会收到2个包:1440-325;3250的包就会收到3个包:1440--1440--325。如果java这边已经与cpp有一个常连接,发送数据包是“自由的”。