这是JAVA发送的数据
smsfs="000000530200004demo00000AC000091680011001113800000000"
out.println(smsfs);//发送信息这是vc发送的数据m_Client.Send(smsfs.GetBuffer(0),smsfs.GetLength(),0)
为何在服务端处理时vc可以通过,java不能通过,提示数据包错误
请大家帮帮忙解决一

解决方案 »

  1.   

    JAVA也有socket的,你用socket来发送看看
      

  2.   

    so=new Socket("202.108.231.22",8001);
    PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(so.getOutputStream())),true);
    smsfs="000000530200004demo00000AC000091680011001113800000000"
    out.println(smsfs);//发送信息
    是用socket 发出的
      

  3.   

    Socket传送字节方式和Intel处理器处理字节的顺序不一样,一个是big_endian,一个是little_endian. 你需要进行转化工作。
    windows提供了四个函数:
    ntohs(network to host short)
    ntohl(network to host long)
    htons(host to network short)
    htonl(host to network long)
      

  4.   

    java用的是Unicode字符,每个字符占2bytes,而VC中的字符中只占1byte