trunk/com/so/news/NNTPDaemon.java
author chris <chris@marvin>
Tue, 20 Jan 2009 10:21:03 +0100
changeset 0 f907866f0e4b
permissions -rw-r--r--
Initial import.
     1 /*
     2  *   StarOffice News Server
     3  *   see AUTHORS for the list of contributors
     4  *
     5  *   This program is free software: you can redistribute it and/or modify
     6  *   it under the terms of the GNU General Public License as published by
     7  *   the Free Software Foundation, either version 3 of the License, or
     8  *   (at your option) any later version.
     9  *
    10  *   This program is distributed in the hope that it will be useful,
    11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  *   GNU General Public License for more details.
    14  *
    15  *   You should have received a copy of the GNU General Public License
    16  *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
    17  */
    18 
    19 package com.so.news;
    20 
    21 import java.io.IOException;
    22 import java.net.ServerSocket;
    23 
    24 /**
    25  * Server component of the n3tpd.
    26  * @author Christian Lins
    27  * @author Dennis Schwerdel
    28  */
    29 public class NNTPDaemon extends Thread
    30 {
    31   private ServerSocket socket;
    32 
    33   public NNTPDaemon(boolean aux) throws IOException
    34   {
    35     int port; 
    36     if(!aux)
    37       port = Config.getInstance().get("n3tpd.port", 119);
    38     else
    39       port = Config.getInstance().get("n3tpd.auxport", 8080);
    40     
    41     int backlog = Config.getInstance().get("n3tpd.server.backlog", 10);
    42     
    43     // Create and bind the socket
    44     socket = new ServerSocket(port, backlog);
    45   }
    46 
    47   @Override
    48   public void run()
    49   {
    50     System.out.println("Daemon listening on port " + socket.getLocalPort() + " ...");
    51     
    52     while(isAlive() && !isInterrupted())
    53     {
    54       try
    55       {
    56         new NNTPConnection(socket.accept()).start();
    57       }
    58       catch (Exception e)
    59       {
    60         e.printStackTrace();
    61       }
    62     }
    63   }
    64 }