home *** CD-ROM | disk | FTP | other *** search
/ BUG 15 / BUGCD1998_06.ISO / aplic / jbuilder / jsamples.z / ClientSender.java < prev    next >
Text File  |  1997-07-03  |  2KB  |  56 lines

  1. package borland.samples.apps.chess.client;
  2.  
  3. import java.net.*;
  4. import java.io.*;
  5. import java.util.*;
  6. import java.net.*;
  7.  
  8. public class ClientSender extends Thread {
  9.   Vector msgque = new Vector(5,5);
  10.   Socket kkSocket;
  11.   PrintWriter os ;
  12.   String id = "Test";
  13.  
  14.   public ClientSender(Socket kkSocket) {
  15.     super("Client Sender");
  16.     this.kkSocket = kkSocket;
  17.   }
  18.  
  19.   public ClientSender() {
  20.     super("Client Sender");
  21.   }
  22.  
  23.   public synchronized void run() {
  24.     try {
  25.       os =  new PrintWriter(kkSocket.getOutputStream());
  26.       //os =  new PrintStream(kkSocket.getOutputStream());
  27.       //System.out.println("cSend waiting" );
  28.       while (true) {
  29.         if (msgque.isEmpty()) {
  30.           try {
  31.             System.out.println("ClientSender waiting");
  32.             wait();
  33.           }
  34.           catch  (InterruptedException e){System.out.println("ClientSender woken up");}
  35.         }
  36.         //System.out.println("cSend got one" );
  37.         ServerMessage smsg = (ServerMessage) msgque.firstElement();
  38.         System.out.println("ClientSender:" + smsg.msgid + " " + smsg.msg);
  39.         msgque.removeElementAt(0);
  40.         if (smsg.msgid.equals("Dead"))
  41.           break;
  42.         else {
  43.           os.println(smsg.msgid + " " + smsg.msg);
  44.           os.flush();
  45.         }
  46.         if (smsg.msgid.equals("Bye"))
  47.           break;
  48.       }
  49.       os.close();
  50.     }
  51.     catch (Exception e) {
  52.       System.err.println("cSend "  + " Exception: " + e);
  53.     }
  54.   }
  55. }
  56.