下面是伪代码
Socket socket;
BufferedOutputStream bos = new BufferedOutputStream((socket.getOutputStream));
bos.write();
bos.close();
在bos.close();之后socket也跟着关闭了,我不想这样,因为我还希望通信的另一端用这个socket回传字节给我那

解决方案 »

  1.   

    如果不关闭bos的话,接收端如果这样接收的话,while就永远得不到-1
    Socket client = server.accept();
    String filedir = "temp//unzipdir//datapackage.zip";
    RandomAccessFile inFile = new RandomAccessFile(filedir, "rw");
    int amount;
    InputStream inSocket = client.getInputStream();
    byte byteBuffer[] = new byte[1024];
    while ((amount = inSocket.read(byteBuffer)) != -1) {
    inFile.write(byteBuffer, 0, amount);
    TestLogger.log("end while");
    TestLogger.log("amount "+amount);
    }
      

  2.   

    哪位知道java socket 长连接怎么建立啊?