在我的网络应用程序中,客户端既是server
又client
是。就像点对点应用程序一样。客户端启动网络应用程序后,首先要做的是:检查互联网连接是否可用(加载 jsp 页面时)。如果连接可用,则将节点信息发送到远程数据库。这只是为了知道连接到主服务器的节点的地址。
现在,如果节点与服务器断开连接(由于互联网连接失败或其他原因),我希望从数据库中删除节点的信息。
一种方法,我认为实现这一点是在主服务器上启动一个线程,该线程不断尝试连接到数据库中的所有节点。但我对这个选项不满意。可能还有另一种方式。或者我可以以更好的方式实现这一点。
请建议,我该怎么做?
而且我必须在主服务器上启动一个线程,我应该从jsp页面调用线程函数吗?像 :
<%-- This is a jsp page --%>
.....
........
<%-- start a new thread that does that task --%>
<% new ThreadClass().startContinuousThread(); %>
......
.........
注意:每个节点都连接到中央服务器:
final URL url = new URL("http://sevrer/servlet");
final HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
int responseCode = urlc.getResponseCode();
if(responseCode == 200){
connected = true;
System.out.println("Initial connection to the server successful");
}
// send the node information to the servlet via a 'parameterized query'.