📄 localservermanager.java
字号:
package za.co.halo.SecureCommunications.gui.server;
import java.util.Vector;
import za.co.halo.SecureCommunications.POP3Server;
import za.co.halo.SecureCommunications.SMTPServer;
import za.co.halo.SecureCommunications.ServerAcknowledge;
import za.co.halo.SecureCommunications.ServerAdmin;
import za.co.halo.SecureCommunications.ServerGroupManager;
import za.co.halo.SecureCommunications.ServerManager;
import za.co.halo.SecureCommunications.WebServer;
import za.co.halo.SecureCommunications.cluster.ClusterClient;
import za.co.halo.SecureCommunications.cluster.ClusterServer;
import za.co.halo.SecureCommunications.network.ServerSettings;
import za.co.halo.SecureCommunications.network.proxy.HTTPProxy;
import za.co.halo.SecureCommunications.network.rmi.RMIServer;
import za.co.halo.SecureCommunications.scheduling.ServerSchedule;
public class LocalServerManager {
//private String portNumber;
private Vector<AbstractServer> servers;
private Vector<Thread> threads;
private ServerManager accounts;
private ServerGroupManager groups;
private ClusterServer clusterServer;
private ServerSchedule scheduler;
private WebServer webserver;
private POP3Server pop;
private SMTPServer smtp;
private RMIServer rmi;
private ServerSettings settings;
private HTTPProxy proxyServer;
public LocalServerManager(ServerManager accounts, ServerGroupManager groups, ServerSettings settings)
{
this.accounts = accounts;
this.groups = groups;
this.settings = settings;
servers = new Vector<AbstractServer>(5);
threads = new Vector<Thread>(5);
createServers();
//POP3Server pop3 = new;
//pop3.setPort();
//pop3.start();
//servers.addElement(pop3);
}
public Vector<AbstractServer> getServers()
{
return servers;
}
private void createServers()
{
//Start webmail
ServerAcknowledge ack = new ServerAcknowledge();
ack.start();
try {
clusterServer = new ClusterServer(accounts,groups);
clusterServer.start();
}
catch (Exception e)
{
ServerAdmin.error.warning("Clusterserver could not start");
e.printStackTrace();
}
webserver = new WebServer(accounts);
webserver.setPort(55555);
webserver.setupAddressBooks();
webserver.setServerName("ICAT Webserver");
webserver.setDomainName(settings.getDomain());
webserver.setSMTPserver("localhost");
try {
Thread webserverThread = new Thread() {
public void run()
{
webserver.start();
}
};
threads.addElement(webserverThread);
servers.addElement(webserver);
}
catch (Exception e)
{
e.printStackTrace();
}
proxyServer = new HTTPProxy();
proxyServer.setPort(1080);
//proxyServer.setupAddressBooks();
proxyServer.setServerName("ICAT Proxy Server");
//proxyServer.setDomainName(settings.getDomain());
//proxyServer.setSMTPserver("localhost");
try {
Thread proxyThread = new Thread() {
public void run()
{
proxyServer.start();
}
};
threads.addElement(proxyThread);
servers.addElement(proxyServer);
}
catch (Exception e)
{
e.printStackTrace();
}
// Start pop3 server
pop = new POP3Server(accounts);
pop.setPort(110);
pop.setServerName("ICAT POP3 server");
try {
Thread pop3 = new Thread() {
public void run()
{
pop.start();
}
};
threads.addElement(pop3);
servers.addElement(pop);
}
catch (Exception e)
{
ServerAdmin.error.warning("POPServer could not start");
e.printStackTrace();
}
// Start smtp server
try{
smtp = new SMTPServer(accounts);
smtp.setServerName("ICAT SMTP Server");
smtp.setDomainName(settings.getDomain());
smtp.setPort(25);
Thread s = new Thread() {
public void run()
{
smtp.start();
}
};
threads.addElement(s);
servers.addElement(smtp);
}
catch (Exception e)
{
ServerAdmin.error.warning("SMTP could not start");
e.printStackTrace();
}
// Start rmi server
rmi = new RMIServer(accounts);
rmi.setServerName("ICAT RMI Server");
rmi.setPort(1099);
Thread r = new Thread() {
public void run()
{
rmi.start();
}
};
threads.addElement(r);
servers.addElement(rmi);
/* try {
rmi = new RMIServer(accounts);
rmi.setServerName("ICAT RMI Server");
rmi.setPort(1099);
rmi.start();
}
catch (Exception e)
{
ServerAdmin.error.warning("RMIServer could not start");
e.printStackTrace();
}*/
}
public void startServers()
{
System.out.println("Starting servers");
//Server Acknowledge
//ServerAcknowledge ack = new ServerAcknowledge();
//ack.start();
//Start cluster server
/*try {
clusterServer = new ClusterServer(accounts,groups);
clusterServer.start();
}
catch (Exception e)
{
ServerAdmin.error.warning("Clusterserver could not start");
e.printStackTrace();
}*/
//Start scheduler
scheduler = new ServerSchedule();
//Start Cluster client
scheduler.schedule(new ClusterClient(accounts),60,120);
//start rmi, smtp, pop and webserver
for (Thread t:threads)
t.start();
System.out.println("Started servers");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -