brokerserver.java

来自「this is a trade sale system realized by 」· Java 代码 · 共 63 行

JAVA
63
字号
package trader.nw;
import java.io.*;
import java.net.*;
import trader.*;
import trader.db.*;

public class BrokerServer implements IoStrategy{
   private BrokerModel broker;

  /** Creates new BrokerServer */
  public BrokerServer(BrokerModel broker) {
    //** 1. Initialize the corresponding broker attribute
    this.broker = broker;
  }

  public void ioService(Socket socket) {
    //** 1. The contents of this method is identical to
    //**    the contents of the ioService method of the
    //**    CommandServer class.
    InputStream is;
    ObjectInputStream ois;
    OutputStream os;
    ObjectOutputStream oos;
    try {
      System.out.println("BrokerServer.ioService called");
      is = socket.getInputStream();
      ois = new ObjectInputStream(is);
      os = socket.getOutputStream();
      oos = new ObjectOutputStream(os);
      while (true) {
        Command cmd = (Command) ois.readObject();
        System.out.println("BrokerServer.service " + cmd);
        cmd.execute(broker);
        oos.writeObject(cmd);
      }
    } catch(Exception e) {
      e.printStackTrace();
    }
  }

  public static void main(String args[]) {
    // optional unit test environment code
    int port;
    ServerSocket serverSocket;
    Socket skt;
    try {
      BrokerModel bd = new BrokerModelDbImpl("localhost");
      BrokerServer bs = new BrokerServer(bd);
      // create serverSocket
      port = 6001;
      serverSocket = new ServerSocket(port);
      System.out.println
        ("BrokerServer created ServerSocket on port " + port);
      // listen for connection
      skt = serverSocket.accept(); // listening;
      System.out.println("BrokerServer.acceptConnection + accepted");
      bs.ioService(skt);
    } catch(Exception e) {
            e.printStackTrace();
    }
  }
}

⌨️ 快捷键说明

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