+++ /dev/null
-/*********************************************************************
- *
- * File : $Source$
- *
- * Purpose : Listen on a specified port for status updates from
- * Privoxy. If we get a suitable update, pass it along
- * to the GUI for processing. We need to handle getting
- * shut down and restarting on another port gracefully.
- *
- * Copyright : Written by and Copyright (C) 2003 the SourceForge
- * Privoxy team. http://www.privoxy.org/
- *
- * Based on the Internet Junkbuster originally written
- * by and Copyright (C) 1997 Anonymous Coders and
- * Junkbusters Corporation. http://www.junkbusters.com
- *
- * This program is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General
- * Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will
- * be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU General Public
- * License for more details.
- *
- * The GNU General Public License should be included with
- * this file. If not, you can view it at
- * http://www.gnu.org/copyleft/gpl.html
- * or write to the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * Revisions :
- * $Log$
- *********************************************************************/
-
-package org.privoxy.activityconsole;
-
-import java.net.*;
-import java.io.*;
-import java.text.*;
-import java.util.*;
-import javax.swing.*;
-
-/**
- * Listens on a specified port for status updates from Privoxy.
- * @author Last Modified By: $Author$
- * @version $Rev$-$Date$$State$
- */
-public class ServerThread extends Thread
-{
- private static final String
- COPYRIGHT = org.privoxy.activityconsole.Copyright.COPYRIGHT;
-
- static ActivityConsoleGui _parent;
- static int _port;
- static ServerSocket _serverSocket;
-
- public ServerThread(ActivityConsoleGui parent, int thePort)
- {
- _parent = parent;
- _port = thePort;
- }
-
- public void run()
- {
- try
- {
- _serverSocket = new ServerSocket(_port);
- try
- {
- // System.out.println( "ServerThread serving port "+_port+"." );
- boolean shouldRun = true;
- while (shouldRun)
- {
- Socket theSocket = _serverSocket.accept();
- if (!Thread.currentThread().interrupted())
- {
- BufferedReader in =
- new BufferedReader(new InputStreamReader(theSocket.getInputStream()));
- String line = in.readLine();
- /* Ensure the line isn't null and it's not way, way too long... */
- if ((line != null) && (line.length() < 65536))
- {
- _parent.updateStats(line,theSocket.getInetAddress().getHostName());
- }
- in.close();
- theSocket.close();
- }
- else
- {
- shouldRun = false;
- }
- }
- _serverSocket.close();
- _serverSocket = null;
- }
- catch (IOException io)
- {
- try
- {
- _serverSocket.close();
- _serverSocket = null;
- }
- catch (IOException fred)
- {
- _serverSocket = null;
- }
- }
- }
- catch (IOException io)
- {
- System.err.println(io);
- JOptionPane.showMessageDialog(null, io, "Alert: port "+_port, JOptionPane.ERROR_MESSAGE);
- }
- }
-
- public void doClose()
- {
- try
- {
- _serverSocket.close();
- }
- catch (IOException fred)
- {
- }
- }
-}