/* * ChatClient.java * * Created on den 30 augusti 2001, 18:54 */ package ip1.u5.d; import java.net.*; import java.io.*; /** * * @author h&m * @version */ public class Client { private ClientGUI gui; private InetAddress address; private int port; private Socket socket; private OutputStream outputStream; private InputStream inputStream; private Input input; /** Skapar en ny ChatClient, med standardvärden */ public Client() { this("127.0.0.1", 2000); } /** Skapar en ny ChatClient, med användarstyrda värden */ public Client(String address, int port) { try { this.address = InetAddress.getByName(address); this.port = port; socket = new Socket(this.address, port); gui = new ClientGUI(this); gui.updateTitle(address, port); gui.show(); outputStream = socket.getOutputStream(); inputStream = socket.getInputStream(); input = new Input(this, inputStream); } catch(UnknownHostException e) { System.err.println(e.toString()); System.exit(1); } catch(IOException e) { System.err.println(e.toString()); System.exit(2); } } //Stäng strömmar och socket, avsluta applikationen public void exit() { try { outputStream.close(); inputStream.close(); socket.close(); } catch (IOException e) { System.out.println(e); System.exit(4); } System.exit(0); } //Skapa nytt Output-objekt och låt det skicka meddelandet public void sendMessage(String message, String name, String email, String homepage) { new Output(outputStream, message, name, email, homepage); } //ägg till nytt meddelande i GUIet public void appendMessage(String message) { gui.appendMessage(message); } /**Clients main method * @param args the command line arguments */ public static void main (String args[]) { try { if(args.length == 0) new Client("127.0.0.1", 2000); else if(args.length == 1) new Client(args[0], 2000); else new Client(args[0], Integer.parseInt(args[1])); } catch (NumberFormatException e) { System.out.println(e); System.exit(3); } } }