java - socket.close()会中断数据传输吗?

标签 java sockets networking

OutputStream out = socket.getOutputStream();
out.write(someData);
socket.close();

socket.close()会导致对等套接字无法接收someData吗?

最佳答案

Will socket.close() cause the peer socket not to receive someData?

绝对不是,在这种情况下。它会将一个 FIN 入队,只有在接收到所有待处理数据后,该 FIN 才能作为流的结尾被对等方接收。

但是作为一般规则,您应该调用 out.close(),以确保刷新 out 中缓冲的任何数据,以防万一out 是一个缓冲流,而不是 socket.close(),后者不关心其输出流周围可能包含的任何缓冲流。

关于java - socket.close()会中断数据传输吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46751923/

相关文章:

java - 为什么我的服务器套接字收不到客户端发送的数据包

c++ - 异步任务。哪种架构? (或 zeroMQ 中的模式)

java - 当我按下后退导航按钮时 Activity 重新启动

java - HIbernate 子对象不保存

Java 继承 - 父级和子级的成员

java - java从socket读取数据

c# - 如何让我的 lua tcp 服务器接收来自 c# tcp 客户端的消息?

java - 限制 jtextfield 仅接受数字?

android - 处理移动应用程序后端 API 域更改 - iOS 和 Android

c - "Connected"UDP套接字,双向通信?