-
Notifications
You must be signed in to change notification settings - Fork 0
/
ClientHandler.java
58 lines (55 loc) · 2.05 KB
/
ClientHandler.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package serverapp;
import java.net.*;
import java.io.*;
/**
*
* @author Chayan-Dhaddha
*/
public class ClientHandler extends Thread {
Socket client;
int index;
String name,str;
public ClientHandler(Socket client){
this.client=client;
ClientInfo.loggedInClient.add(client);
this.start();
}
public void run(){
try{
ObjectInputStream in=new ObjectInputStream(client.getInputStream());
ObjectOutputStream out;
while(true){
name=in.readObject().toString();
if(name.equals("QUIT")){
for(int i=0;i<ClientInfo.loggedInClient.size();i++){
if(ClientInfo.loggedInClient.elementAt(i).equals(this.client)){
ClientInfo.loggedInClient.remove(i);
System.out.println("Client removed from the network");
break;
}
}
break;
}
else{
str=in.readObject().toString();
if(!str.equals(null)){
for(int i=0;i<ClientInfo.loggedInClient.size();i++){
if(!ClientInfo.loggedInClient.elementAt(i).equals(this.client)){
out=new ObjectOutputStream(ClientInfo.loggedInClient.elementAt(i).getOutputStream());
out.writeObject(name);
out.writeObject(str);
}
}
}
}
}
}catch(Exception ex){
System.out.println("hascjhb");
}
}
}