home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JSAMPLES.Z / ClientSender.java < prev    next >
Text File  |  1998-05-08  |  2KB  |  75 lines

  1. /*
  2.  * Copyright (c) 1997-1998 Borland International, Inc. All Rights Reserved.
  3.  * 
  4.  * This SOURCE CODE FILE, which has been provided by Borland as part
  5.  * of a Borland product for use ONLY by licensed users of the product,
  6.  * includes CONFIDENTIAL and PROPRIETARY information of Borland.  
  7.  *
  8.  * USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS 
  9.  * OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
  10.  * THE PRODUCT.
  11.  *
  12.  * IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND, ITS RELATED
  13.  * COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY CLAIMS
  14.  * OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR DISTRIBUTION
  15.  * OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES ARISING OUT OF
  16.  * OR RESULTING FROM THE USE, MODIFICATION, OR DISTRIBUTION OF PROGRAMS
  17.  * OR FILES CREATED FROM, BASED ON, AND/OR DERIVED FROM THIS SOURCE
  18.  * CODE FILE.
  19.  */
  20. package borland.samples.apps.chess.client;
  21.  
  22. import java.net.*;
  23. import java.io.*;
  24. import java.util.*;
  25. import java.net.*;
  26.  
  27. public class ClientSender extends Thread {
  28.   Vector msgque = new Vector(5,5);
  29.   Socket kkSocket;
  30.   PrintWriter os ;
  31.   String id = "Test";
  32.  
  33.   public ClientSender(Socket kkSocket) {
  34.     super("Client Sender");
  35.     this.kkSocket = kkSocket;
  36.   }
  37.  
  38.   public ClientSender() {
  39.     super("Client Sender");
  40.   }
  41.  
  42.   public synchronized void run() {
  43.     try {
  44.       os =  new PrintWriter(kkSocket.getOutputStream());
  45.       //os =  new PrintStream(kkSocket.getOutputStream());
  46.       //System.out.println("cSend waiting" );
  47.       while (true) {
  48.         if (msgque.isEmpty()) {
  49.           try {
  50.             System.out.println("ClientSender waiting");
  51.             wait();
  52.           }
  53.           catch  (InterruptedException e){System.out.println("ClientSender woken up");}
  54.         }
  55.         //System.out.println("cSend got one" );
  56.         ServerMessage smsg = (ServerMessage) msgque.firstElement();
  57.         System.out.println("ClientSender:" + smsg.msgid + " " + smsg.msg);
  58.         msgque.removeElementAt(0);
  59.         if (smsg.msgid.equals(ServerMessage.DEAD))
  60.           break;
  61.         else {
  62.           os.println(smsg.msgid + " " + smsg.msg);
  63.           os.flush();
  64.         }
  65.         if (smsg.msgid.equals(ServerMessage.BYE))
  66.           break;
  67.       }
  68.       os.close();
  69.     }
  70.     catch (Exception e) {
  71.       System.err.println("cSend "  + " Exception: " + e);
  72.     }
  73.   }
  74. }
  75.