home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / jbuilder / jsamples.z / ListenThread.java < prev    next >
Encoding:
Java Source  |  1997-07-03  |  2.1 KB  |  66 lines

  1. package borland.samples.apps.chess.server;
  2.  
  3. import java.net.*;
  4. import java.io.*;
  5. import java.util.Enumeration;
  6. import borland.samples.apps.chess.client.ServerMessage;
  7.  
  8. public class ListenThread extends Thread
  9. {
  10.   SendThread t;
  11.   DataInputStream is;
  12.   ServerMessage smsg;
  13.   Socket s;
  14.  
  15.   ListenThread(Socket s ,SendThread t) {
  16.     this.t = t;
  17.     this.s = s;
  18.   }
  19.  
  20.   public void run() {
  21.     try{
  22.       is = new DataInputStream(new BufferedInputStream(s.getInputStream()));
  23.       InputStreamReader isr  = new InputStreamReader(is);
  24.       BufferedReader br = new BufferedReader(isr);
  25.       String inputLine = new String();
  26.       int port;
  27.       String msgid = new String();
  28.       String message = new String();
  29.       int offset;
  30.       //int blank = 32;
  31.       System.out.println("ListenThread - we are listening to " + String.valueOf(t.portnum));
  32.       while ((inputLine = br.readLine()) != null && !inputLine.startsWith("Bye ")) {
  33.         offset = inputLine.indexOf(' ');
  34.            //System.out.println("LT-"  + String.valueOf(t.portnum) + " Received:" + inputLine);
  35.         if (offset  > 0) {
  36.           msgid = inputLine.substring(0,offset);
  37.           //System.out.println("LT smsg   msgid:" + msgid);
  38.           message = inputLine.substring(offset+1); //don't store the space
  39.           smsg = new ServerMessage(t.portnum,msgid,message);
  40.           System.out.println("ListenThread smsg " + String.valueOf(t.portnum)  +" msgid:" +
  41.                              smsg.msgid + "msg:" + smsg.msg);
  42.           t.addMsg(smsg);
  43.           //synchronized (t) {
  44.           //  t.msgque.addElement(smsg);
  45.           //  t.notify();
  46.           //}
  47.         }
  48.         else
  49.           System.out.println("ListenThread read weird line"  );
  50.       }
  51.       is.close();
  52.     }
  53.     catch (IOException e) {
  54.       System.out.println("ListenThread " + t.portnum + e  );
  55.       e.printStackTrace();
  56.     }
  57.     System.out.println("ListenThread " + t.portnum + "going byebye"  );
  58.     smsg = new ServerMessage(t.portnum,"dead","");
  59.     t.addMsg(smsg);
  60.     //synchronized (t) {
  61.     //  t.msgque.addElement(smsg);
  62.     //  t.notify();
  63.     //}
  64.   }
  65. }
  66.