java语言写客户端, 服务器用C++
遇到的问题是:
1. java只能用writeInt(readInt),writeByte(readByte)对要发送(接收)的内容一项一项的进行么? 有没有更简便的方法?2.字符串如何处理让C++ 和java都很容易接收和发送?

解决方案 »

  1.   

    不是吧
    write(byte[] buffer,int offset,int len)
    这个方法好像都有
      

  2.   

    但是这之前要一项一项的写入buffer吧? 而不能把一个对象直接作为一个数据块写入,C++可以直接把整个结构写入吧?
      

  3.   

    那没办法,java的对象的大小是未知的。
      

  4.   

    定义好字节的格式和顺序就OK了,socket不都是字节吗
      

  5.   

    发送:
                out = new PrintWriter(socketClient.getOutputStream(), true);
                out.print("消息");
                out.flush();
    接收:
               String str = new String();
               in = new BufferedReader(
                        new InputStreamReader(socketClient.getInputStream()));
               while ((str = in.readLine()) != null)
                {
                    message = message + str + "\n";
                    str = str.trim();
                    if (str.endsWith(con_sendMessageTail2))
                    {
                        break;
                    }
                }