Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- import java.io.PrintWriter;
- import java.net.Socket;
- import java.util.Vector;
- public class ChatHandler extends Thread {
- static Vector handlers = new Vector( 10 );
- private Socket socket;
- private BufferedReader in;
- private PrintWriter out;
- public ChatHandler(Socket socket) throws IOException {
- this.socket = socket;
- in = new BufferedReader(
- new InputStreamReader(socket.getInputStream()));
- out = new PrintWriter(
- new OutputStreamWriter(socket.getOutputStream()));
- }
- public void run() {
- String line;
- synchronized(handlers) {
- handlers.addElement(this);
- // add() not found in Vector class
- }//
- try {
- System.out.println("Try executed");
- System.out.println("WTF?!");
- //System.out.println(in.readLine());
- line = "NULL";
- while(line != "quit") {
- System.out.println("Before readLine");
- line = in.readLine();
- System.out.println("WTF");
- //System.out.println("While executed");
- for(int i = 0; i < handlers.size(); i++) {
- //System.out.println("For executed");
- synchronized(handlers) {
- ChatHandler handler = (ChatHandler)handlers.elementAt(i);
- handler.out.println(line + "\r");
- handler.out.flush();
- }
- }
- }
- } catch(IOException ioe) {
- ioe.printStackTrace();
- } finally {
- try {
- in.close();
- out.close();
- socket.close();
- } catch(IOException ioe) {
- } finally {
- synchronized(handlers) {
- handlers.removeElement(this);
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment