SOCKET通讯,TCP协议,windows的客户端,用VC开发
linux的服务端,用java开发
有个问题,客户端发送一个包长度,比如为174个字节,将174转成char
发送到服务端,为什么java端收到的会是8257505类似这样的字符?

解决方案 »

  1.   

    协议要求我客户端发整型,4个字节
    但是socket的发送函数send(string),参数是string字符型,怎么办呢?
      

  2.   

    int i;
    send(s,(char*)&i,sizeof(int),0);
      

  3.   

    还有字节序问题linux和windows的字节序不一样客户端发之前 htonl
    服务端要 ntohl
      

  4.   

    使用中间件开发.ACE就是一个很好的东西.不需要关心由于系统的不同,使一些高位与低位在内存中的位置不同.