1 /* 2 * Jalisto - JAva LIght STOrage 3 * Copyright (C) 2000-2005 Xcalia http://www.xcalia.com 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library 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 GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 18 * 19 * Xcalia 20 * 71, rue Desnouettes 21 * 75014 Paris - France 22 * http://www.xcalia.com 23 */ 24 package org.objectweb.jalisto.se.impl.server.socket; 25 26 import org.objectweb.jalisto.se.api.remote.JalistoServer; 27 import org.objectweb.jalisto.se.exception.JalistoException; 28 29 import java.io.IOException; 30 import java.net.ServerSocket; 31 import java.net.Socket; 32 33 public class JalistoServerSocketImpl implements JalistoServer { 34 35 public void launchServer(int port) { 36 System.out.println("Run JalistoServerSocketImpl on port " + port); 37 ServerSocket ss; 38 try { 39 ss = new ServerSocket(port); 40 } catch (IOException ioe) { 41 throw new JalistoException(ioe); 42 } 43 try { 44 while (true) { 45 Socket socket = null; 46 try { 47 socket = ss.accept(); 48 } catch (IOException ioe) { 49 throw new JalistoException(ioe); 50 } 51 ServerCommunicationAgentSocketImpl serverAgent = 52 new ServerCommunicationAgentSocketImpl(socket); 53 serverAgent.start(); 54 } 55 } finally { 56 try { 57 if ((ss != null) && (!ss.isClosed())) { 58 ss.close(); 59 } 60 } catch (IOException ioe) { 61 ioe.printStackTrace(); 62 } 63 } 64 } 65 }