gpt4 book ai didi

Java套接字TCP拆解

转载 作者:行者123 更新时间:2023-12-01 14:40:44 25 4
gpt4 key购买 nike

创建套接字并建立连接后,我使用 BufferedReader 和 PrintWriter 从套接字写入/读取。

Socket s = new Socket(ip, port);
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter out = new PrintWriter(s.getOutputStream());

当我使用完套接字后,我将其关闭。

s.close();

这将导致发送 TCP fin 并留下半打开的 TCP 连接。有没有办法检测客户端/服务器是否关闭了连接?

最佳答案

This will cause a TCP fin to be sent and leave a half-open TCP connection.

不完全是。它将留下一个半打开的 TCP 连接,如果收到更多数据,该连接将发出重置消息。

Is there any way to detect if a client/server closed its end of the connection?

如果您已经关闭了,则不会。如果您刚刚发出写关闭,您可以读取直到 EOS,它会告诉您有关对等点关闭的信息,然后关闭套接字。除非您确实必须实现同时关闭,否则实际上没有多大意义。

关于Java套接字TCP拆解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15987617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com