繁体   English   中英

如果在读取字节之前断开连接,TCP套接字连接上的字节会丢失吗?

[英]Are bytes on a TCP socket connection lost if the connection is severed before the bytes are read?

如果我有一个Selector的是公司的意见sockets ,并将其推到一个队列为其他线程来处理,并没有线程需要一个插座,说两分钟,客户端将数据推但随后超时并断开连接。 thread然后使用那些现在关闭的sockets并尝试从中读取时,它将获取客户端已发送的数据,还是没有什么要读取?

这取决于“切断”的含义。

  • 如果您自己关闭了套接字,则将获得SocketException: socket closed各种read()方法关闭的套接字。
  • 如果连接被对等端正常关闭,则在发出流结束信号之前,将读取所有未决数据。
  • 如果连接被异常终止重置,则所有挂起的数据都将丢失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM