gpt4 book ai didi

java - 套接字关闭后重新连接到服务器

转载 作者:行者123 更新时间:2023-12-01 15:55:55 24 4
gpt4 key购买 nike

我有一个程序,可以向服务器打开 N 个套接字,每个套接字都在不同的线程中。在发送两个登录字符串后,程序监听服务器,直到发生错误并且服务器发送断开连接命令,并且套接字被关闭。我希望程序在服务器关闭套接字后重新连接:这可能吗?

            SocketList.add(new ConnectionHandler(id, actualSocket, out, in));

SocketRead p = new SocketRead(in, out, rowid);
new Thread(p).start();

我希望,当套接字读取对象收到“DISCONNECT”命令时,套接字将重新启动(如果需要,打开另一个线程)。

最佳答案

我不确定 SocketListConnectionHandlerSocketRead 是什么,所以我假设它们是您编写的类适合您的应用程序。

如果您希望能够重新连接,那么您将必须更改代码结构。一方面,SocketRead 对象没有允许其重新连接所需的信息。另一方面,控制代码(您的代码片段)无法检测到断开连接命令。

尚不清楚什么最有效,但这里有几个选项:

  • 将 Socket(或 InetAddress 和端口号)传递给 SocketRead 并使其负责打开新套接字。

  • 将Thread传递给ConnectionHandler并使其负责检测线程的死亡、创建新的Socket并创建新的Thread。

  • ConnectionHandler 传递给 SocketRead 对象,当套接字断开连接时,让后者调用前者的回调或事件处理方法。

关于java - 套接字关闭后重新连接到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5050747/

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