java - 通过套接字发送文件 - 终止条件

标签 java sockets java-io

我正在 Java 中通过套接字发送文件。

如果我在发送文件后关闭套接字连接,那么 read 方法将返回 -1,效果非常好。 但我不想关闭套接字,所以我需要一个终止条件。 我尝试使用 inputStream.available,但它没有返回确切的字节数。

int number;
while((number = inputStream.read(buffer)) != -1) {
    fileStream.write(buffer, 0, number);
} 

我该怎么做?

最佳答案

标准模式是首先发送长度,例如 intlong。例如DataInput/OutputStream 可以帮助您做到这一点。

当您读取了这么多数据后,您就完成了,但连接仍然打开并且可以继续使用。

关于java - 通过套接字发送文件 - 终止条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32208701/

相关文章:

java - Wildfly 9 使用的连接池 jar 是什么?

javascript - Socket.io 从 HTTP API Controller 触发事件

java - 带有serialVersionUID的数组类?

Java 扫描文本文件

java - 如何将我的 Java UI 连接到 JPL Prolog 应用程序?

java - 用于调试和测试的 Log4j 配置

java - 如何将结构数组传递给函数以便在 JNA 中获取结果

python - 关于 python select.select 调用的返回值

c - TCP 可调参数未显示数据传输速率的预期结果

java - 如何提高操作大型数组的性能?