0

我正在从客户端发送一个二进制文件,如数据库或 pdf 文件,以通过 wifi 来服务器 TCP/IP。客户端是安卓平板,服务器是windows 7 PC。

发送数据库或 pdf 时,以二进制文件的形式发送。如何将 2 个短整数附加到此文件?例如平板电脑序列号和文件大小。

所以 2 个整数和文件本身是一起发送的。

我正在使用的代码显示在这里。

服务器端代码,用于从客户端接收文件:

 File file = new File("C:/DBfiles/database.db);
 FileOutputStream fostr = new OutputStream(file);
 BufferedOutputsTream bostr = BufferedOutputStream(fostr);

 InutStream is = socket.getInputstream();

 byte[] buffer = new byte[bufferSize];

 while((( count = is.read())>0)&&(connected));
 bostr.write(buffer, 0, count);

客户端代码,用于向服务器发送文件:

    File file = new File("/mnt/sdcard/database.db");
    long length = file.length();

    byte[] buffer = new byte[(int) length];

    FileInputStream fistr = new FileInputStream(file2);
    BufferedInputStream bistr = new BufferedInputStream(fis);
    BufferedOutputStream bostr = new BufferedOutputStream(socket.getOutputStream());

                int count;

                while ((count = bistr.read(buffer)) > 0) {
                    bostr.write(buffer, 0, count);
                }
4

1 回答 1

0

您需要找到字符串的字节形式(每个字符的字节)并将它们附加到缓冲区中。我相信您所说的整数只是整数的“字符串”。它不适用于 airthematic 总和。

于 2013-09-19T02:56:18.037 回答