From 2c5bc88072d964fb68bead02d011766696b5ee93 Mon Sep 17 00:00:00 2001 From: dor Date: Sat, 28 Sep 2013 15:43:51 +0300 Subject: Try\catch --- src/ChatClient.java | 74 +++++++++++++++++++++++++++++++++++++---------- src/ChatClientReader.java | 15 ++++++++++ src/ChatServer.java | 50 ++++++++++++++++++++------------ 3 files changed, 105 insertions(+), 34 deletions(-) create mode 100644 src/ChatClientReader.java diff --git a/src/ChatClient.java b/src/ChatClient.java index 77abe11..620622a 100644 --- a/src/ChatClient.java +++ b/src/ChatClient.java @@ -1,28 +1,70 @@ import java.io.*; import java.net.Socket; import java.util.*; -public class ChatClient + +public class ChatClient { - public static Scanner reader = new Scanner (System.in); + public static Scanner reader = new Scanner(System.in); + public static void main(String[] args) throws IOException { - String phrase = "Hay"; - int port = 10000; + String phrase; + System.out.println("Enter you phrase"); + phrase = reader.nextLine(); + int port = ChatServer.portNum; String host = null; - Socket Soc = new Socket( host, port); - OutputStreamWriter outTemp = new OutputStreamWriter (Soc.getOutputStream()); - BufferedWriter output = new BufferedWriter (outTemp); - InputStreamReader inputTemp = new InputStreamReader (Soc.getInputStream()); - BufferedReader input = new BufferedReader (inputTemp); - phrase = input.readLine(); //FIXME: more then 1 line - phrase = "[" + phrase + "]"; - System.out.println(phrase); - output.write(phrase,0,phrase.length()); - output.newLine(); - output.flush(); - Soc.close(); + Socket Soc; + OutputStreamWriter outTemp; + try + { + Soc = new Socket(host, port); + } catch (IOException e) + { + System.err.println("Error connecting to host " + host + ", port " + port + ": " + e); + return; + } + try + { + outTemp = new OutputStreamWriter(Soc.getOutputStream()); + } catch (IOException e) + { + System.err.println("getOutputStream failed (should not have happened): " + e); + Soc.close(); + return; + } + BufferedWriter output = new BufferedWriter(outTemp); + InputStreamReader inputTemp = new InputStreamReader(Soc.getInputStream()); + BufferedReader input = new BufferedReader(inputTemp); + while (true) + { + + + output.write(phrase, 0, phrase.length()); + output.newLine(); + output.flush(); + phrase = input.readLine(); // FIXME: more then 1 line + phrase = "[" + phrase + "]"; + System.out.println(phrase); + + } + Soc.close(); } } +class ConsoleReader extends Thread +{ + Socket Soc; + + void setSoc(Socket Soc) + { + this.Soc = Soc; + } + + public void run() + { + + } + +} \ No newline at end of file diff --git a/src/ChatClientReader.java b/src/ChatClientReader.java new file mode 100644 index 0000000..0dec5ee --- /dev/null +++ b/src/ChatClientReader.java @@ -0,0 +1,15 @@ +import java.util.*; + + + + +public class ChatClientReader extends Thread +{ + public static Scanner reader = new Scanner (System.in); + public void run () + { + + } + +} + diff --git a/src/ChatServer.java b/src/ChatServer.java index 4cffd92..ee4c83b 100644 --- a/src/ChatServer.java +++ b/src/ChatServer.java @@ -1,27 +1,41 @@ import java.util.*; import java.net.*; import java.io.*; -public class ChatServer + +public class ChatServer { - public static Scanner reader = new Scanner (System.in); + public static Scanner reader = new Scanner(System.in); + + public static int portNum = 40000; public static void main(String[] args) throws IOException { String phrase; - ServerSocket Service = new ServerSocket (10000); - Socket Soc = Service.accept(); - InputStreamReader inputTemp = new InputStreamReader (Soc.getInputStream()); - BufferedReader input = new BufferedReader (inputTemp); - phrase = input.readLine(); //FIXME: more then 1 line - OutputStreamWriter outTemp = new OutputStreamWriter (Soc.getOutputStream()); - BufferedWriter output = new BufferedWriter (outTemp); - phrase = "<" + phrase + ">"; - System.out.println(phrase); - output.write(phrase,0,phrase.length()); - output.newLine(); - output.flush(); - Soc.close(); - Service.close(); - System.out.println("Done"); - } + ServerSocket Service = new ServerSocket(portNum); + try + { + while (true) + { + Socket Soc = Service.accept(); + InputStreamReader inputTemp = new InputStreamReader(Soc.getInputStream()); + BufferedReader input = new BufferedReader(inputTemp); + phrase = input.readLine(); // FIXME: more then 1 line + System.out.println("Acc"); + OutputStreamWriter outTemp = new OutputStreamWriter(Soc.getOutputStream()); + BufferedWriter output = new BufferedWriter(outTemp); + phrase = "<" + phrase + ">"; + System.out.println(phrase); + output.write(phrase, 0, phrase.length()); + output.newLine(); + output.flush(); + Soc.close(); + System.out.println("Done"); + } + } + catch (IOException e) + { + System.out.println(e); + Service.close(); + } + } } -- cgit v1.2.3