Note: (Restricted functionality due to obvious reasons!)

For Mobile-Ease ⇓

Minimal Code ( Raw-View ) :
import java.net.*; import java.io.*; class ThreadServerRestricted extends Thread { public void run() { try { ServerSocket sskt = new ServerSocket(1500); // 1500 -> port System.out.println("Waiting..."); Socket skt = sskt.accept(); System.out.println("Client Connected !"); PrintWriter out = new PrintWriter(skt.getOutputStream(),true); // true -> for flushing after sending; BufferedReader readC = new BufferedReader(new InputStreamReader(skt.getInputStream())); BufferedReader readkb = new BufferedReader(new InputStreamReader(System.in)); FileReader fr = new FileReader("users.txt"); // true for append mode BufferedReader readuspw = new BufferedReader(fr); String uspw = "", user=""; out.println("Username : "); user = readC.readLine(); out.println("Password : "); uspw = user+" "+readC.readLine(); String msg = ""; int flag = 0, temp=0; String lcnt; while((lcnt = readuspw.readLine())!=null) { if(lcnt.equals(uspw)) { flag++; System.out.println(lcnt); // for user-login LOG on Server } } if(flag>0) { out.println("Login Successful !"); do { msg = readC.readLine(); // Receiving System.out.println(user+": "+msg); msg = readkb.readLine(); // Sending out.println("Srvr: "+msg); } while(!msg.equals("bye")); } else { out.println("Login Failed !"); } } catch(Exception e) { System.out.println(e); } } }