public void run()
	{
		jTextArea.append("Starting Server Side Socket On Port 27331: ");
		try{
			sslserverSocket = (SSLServerSocket) javax.net.ssl.SSLServerSocketFactory.getDefault().createServerSocket(port);
			//sslserverSocket.setEnabledCipherSuites(sslserverSocket.getEnabledCipherSuites());
		} catch (IOException e){
			jTextArea.append("(ERROR: "+e.getMessage()+")\n");
		}finally{
			if(sslserverSocket != null)
				jTextArea.append("Done\n");
			else{
				jTextArea.append("Shutting Down Due To: No Open Ports for the ServerSocket\n");
				return;
			}
		}
		
		jTextArea.append("Starting Server Socket Thread: ");
		socketThread.start();
		jTextArea.append("Done\n");
		
		jTextArea.append("Starting Socket Run Thread: ");
		socketRunThread.start();
		jTextArea.append("Done\n");
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		while(true)
		{
			try{
				if(br.ready())
					switch(br.readLine())
					{
					case "EXIT":
						return;
					default:
						jTextArea.append("Type /help or /? for a list of commands\n");
					}
			} catch (IOException e){
                            //FIXME
			}
			
			for(int i=0;i<socketList.size();i++)
				if(socketList.get(i).newClientMessage())
					for(int j=0;j<socketList.size();j++){
						socketList.get(j).getClientPrinter().println(socketList.get(i).getClientName()+": "+socketList.get(i).getClientMessage());
                                                System.out.println("new message sent");
                                        }
		}
		
	}