Multi user online chat server

From , 4 Years ago, written in Java, viewed 52 times.
URL https://pastebin.vip/view/fc3cf452
  1. import java.net.*;
  2. import java.util.*;
  3. import java.io.*;
  4.  
  5. public class ChatServer{
  6.         public static void main(String[] args){
  7.                 Hashtable<String,DataOutputStream> userList = new
  8.                         Hashtable<String,DataOutputStream>();
  9.                 String name;
  10.                 DataInputStream dis;
  11.                 DataOutputStream dos;
  12.                
  13.                 try{
  14.                         ServerSocket ss = new ServerSocket(8999);
  15.                         while(true){
  16.                                 Socket s = ss.accept();
  17.                                 dis = new DataInputStream(s.getInputStream());
  18.                                 dos = new DataOutputStream(s.getOutputStream());
  19.                                 name = dis.readUTF();
  20.                                 userList.put(name,dos);
  21.                                 new MyServerReader(name,dis,userList).start();
  22.                         }
  23.                 }catch(Exception e){
  24.                         e.printStackTrace();
  25.                 }
  26.         }
  27. }
  28.  
  29. class MyServerReader extends Thread{
  30.         private String name;
  31.         private DataInputStream dis;
  32.         private Hashtable<String,DataOutputStream> userList;
  33.        
  34.         public MyServerReader(String name,DataInputStream dis,Hashtable<String,DataOutputStream> userList){
  35.                 this.name = name;
  36.                 this.dis = dis;
  37.                 this.userList = userList;
  38.         }
  39.        
  40.         public void run(){
  41.                 String info;
  42.                 try{
  43.                         transimitMessage(name+"in!","--Server Info--");
  44.                         while(true){
  45.                                 info  = dis.readUTF();
  46.                                 if(info.equals("bye")){
  47.                                         DataOutputStream dos = (DataOutputStream)(userList.get(name));
  48.                                         Thread.sleep(1000);
  49.                                         dos.close();
  50.                                         dis.close();
  51.                                         userList.remove(name);
  52.                                         transimitMessage(name+"out","--Server Info--");
  53.                                         break;
  54.                                 }else if(info.length()>0){
  55.                                         transimitMessage(info,name);
  56.                                 }
  57.                         }
  58.                 }catch(Exception e){
  59.                         e.printStackTrace();
  60.                 }
  61.         }
  62.        
  63.         public void transimitMessage(String msg,String name){
  64.                 Collection doses = userList.values();
  65.                 DataOutputStream dos;
  66.                 for(Object o:doses){
  67.                         dos = (DataOutputStream)o;
  68.                         try{
  69.                                 dos.writeUTF(name+":"+msg);
  70.                         }catch(Exception e){
  71.                                 e.printStackTrace();
  72.                         }
  73.                 }
  74.         }
  75. }

Reply to "Multi user online chat server"

Here you can reply to the paste above

captcha

https://burned.cc - Burn After Reading Website