CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

vc写的客户端不能跟java写的客户端正确通信的问题!!

楼主aspkiller(IT浪子)2004-07-04 16:08:14 在 VC/MFC / 网络编程 提问

不知道是什么原因。  
   
  但是用我自己用java写的服务器却没问题,同样用它用vc写的客户端也没问题。  
   
  因为客户端要用javaapplet,所以不得不用不同的语言写了。  
   
  那位有本事解决吗?  
   
  谢谢 问题点数:0、回复次数:9Top

1 楼aspkiller(IT浪子)回复于 2004-07-04 16:18:28 得分 0

更正:是vc写的服务器端Top

2 楼masterz(www.fruitfruit.com)回复于 2004-07-04 18:24:14 得分 0

java   byte   order   is   different   from   windows   byte   order.  
  Top

3 楼aspkiller(IT浪子)回复于 2004-07-04 19:51:26 得分 0

那怎么办?有解决的办法没有?Top

4 楼masterz(www.fruitfruit.com)回复于 2004-07-04 21:25:03 得分 0

自己定好byte   order,把int,short转换为byte数组,在客户端和服务端按同样的byte   order组装起来比如下面的代码是java从vc客户端读入int  
          public   int   readLength()   throws   Exception  
          {  
                  byte[]   b   =   new   byte[4];  
                  input.read(b);  
                  int   nret   =   0;  
                  for   (int   i   =   b.length   -   1;   i   >=   0;   i--)  
                  {  
                          nret   =   nret   *   256   +   b[i];  
                  }  
                  return   nret;  
          }Top

5 楼aspkiller(IT浪子)回复于 2004-07-05 07:12:48 得分 0

可是服务器端经常能收到数据,可就是服务器经常不知道什么时候传送结束Top

6 楼Semigod()回复于 2004-07-05 08:51:42 得分 0

字节顺序是最大的问题。我写过这种程序。在Java客户端中,类似int形的数据输出一般都要InverseBytes(),这个函数要你自己写。Top

7 楼ShaftWhy(归去来兮)回复于 2004-07-05 09:42:54 得分 0

关于byte   order,只要在两端都用htonl和htons,应该没有什么问题吧?  
  或者用BCD编码好了。Top

8 楼aspkiller(IT浪子)回复于 2004-07-05 11:27:59 得分 0

楼上什么意思啊?用RCD编码?是不是先编成BCD然后传送?那解码呢?Top

9 楼skyMountain(天山)回复于 2004-07-05 12:50:04 得分 0

不光要注意字节顺序问题,还有一点请注意:JAVA中,字符的默认大小是两个字节的,而C的字符大小是一个字节。比方说,java中String   str("aaa"),其长度为六,你如果直接把这个String发送给C,那么结果当然不正确了。Top

相关问题

  • 重点:请问一个java程序如何和一个VC程序通信?
  • 单片机通信数据不正确
  • VC++的串口通信
  • VC串口通信问题
  • javascript 如何与 VC++通信?
  • 能否用java写的socket服务器端,与vc++写的客户端来通信?
  • 关于VC开发socket客户端和用java开发的socket服务器端通信的问题!
  • 关于VC开发socket客户端和用java开发的socket服务器端通信的问题!
  • 关于VC开发socket客户端和用java开发的socket服务器端通信的问题!
  • VC中如何正确使用ADO?

关键词

  • 客户
  • 服务器
  • vc
  • 客户端
  • nret
  • 问题
  • byte order
  • byte

得分解答快速导航

  • 帖主:aspkiller

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo