socketworkerlistenerthread.java

来自「java实现的遗传算法」· Java 代码 · 共 60 行

JAVA
60
字号
/*
 * This file is part of JGAP.
 *
 * JGAP offers a dual license model containing the LGPL as well as the MPL.
 *
 * For licencing information please see the file license.txt included with JGAP
 * or have a look at the top of class org.jgap.Chromosome which representatively
 * includes the JGAP license policy applicable for any file delivered with JGAP.
 */
package org.jgap.distr.sockets;

import java.net.*;
import java.io.*;

/**
 * Represents a single socket listener for request from a worker to the master.
 *
 * @author Klaus Meffert
 * @since 2.4
 */
public class SocketWorkerListenerThread
    extends Thread {
  /** String containing the CVS revision. Read out via reflection!*/
  private final static String CVS_REVISION = "$Revision: 1.3 $";

  private Socket m_socket;

  public SocketWorkerListenerThread(Socket a_socket) {
    super("SocketWorkerListenerThread");
    m_socket = a_socket;
  }

  public void run() {
    try {
      System.err.println("workerlistening...");
      PrintWriter out = new PrintWriter(m_socket.getOutputStream(), true);
      BufferedReader in = new BufferedReader(new InputStreamReader(
          m_socket.getInputStream()));
      String inputLine, outputLine;
      KnockKnockProtocol kkp = new KnockKnockProtocol();
          /**@todo replace with own*/
      outputLine = kkp.processInput(null);
      out.println(outputLine);
      while ( (inputLine = in.readLine()) != null) {
        outputLine = kkp.processInput(inputLine);
        out.println(outputLine);
        if (outputLine.equals("Bye"))
          break;
        this.wait(500);
      }
      out.close();
      in.close();
      m_socket.close();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?