vc 的socket server 和 java client 通信。 vc那边数据格式是unsigned char 。我用java byte[]来处理vc传过来的unsigned char类型:byte[] b = new byte[4]; inputStream.read(b); 结果打印的结果发生了偏移(vc传来的数据无负数),听说接收的数据还要进行16进制的转换,因为tcp/ip采用16进制。请问如果我vc 传过来"1"、"5" "7" 三个字符.我java client怎么接收? 
请问java client 怎么发送数据给vc socket server ?
目前我发给vc server数据时,vc server总是接收不到数据,然后超时断开连接。应该是发送过去格式也不对。

解决方案 »

  1.   

    对了,我还有一个问题:目前我在windows下测试的client和server通信。client转到linux下时,处理数据是不是一样的。 我这种情况怎么处理中文? 最好能有示例代码,:)
      

  2.   

    java与C进行Socket通信发送二进制数据时,应该注意字节序的问题,
    具体比较复杂,一两句话说不清楚。给你两片文章,仔细看看就懂了:http://mindprod.com/jgloss/endian.html
    http://blog.chinaunix.net/u/13279/showart_177436.html
      

  3.   

    http://blog.csdn.net/kingfish/archive/2005/03/29/333635.aspx
      

  4.   

    上面是传输struct 的例子,假如C server 传输 unsigned char 给 java 或java 传给C 。怎么处理呢。好像jdk1.6有个东西处理这种网络字节很牛的东西。
      

  5.   

    http://dniit.blog.163.com/blog/static/28012894200857495715/