FileDocCategorySizeDatePackage
ClientSender.javaAPI DocExample2425Sat Sep 12 03:01:00 BST 1998borland.samples.apps.chess.client

ClientSender

public class ClientSender extends Thread

Fields Summary
Vector
msgque
Socket
kkSocket
PrintWriter
os
String
id
Constructors Summary
public ClientSender(Socket kkSocket)


     
    super("Client Sender");
    this.kkSocket = kkSocket;
  
public ClientSender()

    super("Client Sender");
  
Methods Summary
public synchronized voidrun()

    try {
      os =  new PrintWriter(kkSocket.getOutputStream());
      //os =  new PrintStream(kkSocket.getOutputStream());
      //System.out.println("cSend waiting" );
      while (true) {
        if (msgque.isEmpty()) {
          try {
            System.out.println("ClientSender waiting");
            wait();
          }
          catch  (InterruptedException e){System.out.println("ClientSender woken up");}
        }
        //System.out.println("cSend got one" );
        ServerMessage smsg = (ServerMessage) msgque.firstElement();
        System.out.println("ClientSender:" + smsg.msgid + " " + smsg.msg);
        msgque.removeElementAt(0);
        if (smsg.msgid.equals(ServerMessage.DEAD))
          break;
        else {
          os.println(smsg.msgid + " " + smsg.msg);
          os.flush();
        }
        if (smsg.msgid.equals(ServerMessage.BYE))
          break;
      }
      os.close();
    }
    catch (Exception e) {
      System.err.println("cSend "  + " Exception: " + e);
    }