본문 바로가기

개발하자/JAVA고급

awt 양방향채팅(Guest)2/3

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;

class Guest extends Thread {
   BufferedReader br;
   BufferedWriter bw;

   Server server;
   String id;

   Guest(Server server, Socket s) throws Exception {
      this.server = server;
      InputStream is = s.getInputStream();
      OutputStream os = s.getOutputStream();

      InputStreamReader isr = new InputStreamReader(is);
      br = new BufferedReader(isr);

      OutputStreamWriter osw = new OutputStreamWriter(os);
      bw = new BufferedWriter(osw);

   }

   void sendMsg(String msg) throws Exception {
     
         bw.write(msg + "\n");
         bw.flush();
     
   }

   public void run() {
      try {
         while (true) {
            String line = br.readLine();

            String[] array = line.split("/");
            switch (array[0]) {
            case "enter":
               id = array[1];
               server.broadcast(id + "님입장");
               break;
            case "msg":
               server.broadcast("[" + id + "]" + array[1]);
               break;
            }

         }
      } catch (Exception e) {
         System.out.println(id + "님이 퇴장함~");
         server.removeGuest(this);
      }
   }
}

'개발하자 > JAVA고급' 카테고리의 다른 글

awt 채팅 Client  (0) 2015.02.06
awt 양방향채팅(Server)3/3  (0) 2015.02.04
awt 양방향채팅(Client )1/3  (0) 2015.02.04
양방향채팅  (0) 2015.02.04
awt 일대일채팅(클라이언트만 보냄)  (0) 2015.02.04