Program to create a simple Chat Client/Server Solution in Java
1. Implementing a Chat Server
2. Implementing a Chat Client
Output of the program : Client Screen
Output of the program : Server Screen
1. Implementing a Chat Server
package com.hubberspot.examples; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { private ServerSocket server; private int port = 5600; public Server() { try { server = new ServerSocket(port); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { Server server = new Server(); server.connection(); } public void connection() { System.out.println("Waiting for client ..."); try { Socket socket = server.accept(); System.out.println("Client accepted: " + socket); DataInputStream dis = new DataInputStream( new BufferedInputStream(socket.getInputStream())); boolean done = false; while (!done) { try { String line = dis.readUTF(); System.out.println(line); done = line.equals("bye"); } catch(IOException ioe) { done = true; } } dis.close(); socket.close(); } catch(IOException ioe) { System.out.println(ioe); } } }
2. Implementing a Chat Client
package com.hubberspot.examples; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; public class Client { public static void main(String[] args) { try { // // Create a connection to the server socket on the server application // InetAddress host = InetAddress.getLocalHost(); Socket socket = new Socket(host.getHostName(), 5600); // // Send a message to the client application // DataOutputStream dos = new DataOutputStream( socket.getOutputStream()); DataInputStream dis = new DataInputStream(System.in); String line = ""; while (!line.equals("bye")) { try { line = dis.readLine(); dos.writeUTF(line); dos.flush(); } catch(IOException ioe) { System.out.println("Sending error: " + ioe.getMessage()); } } dis.close(); dos.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Output of the program : Client Screen
Output of the program : Server Screen