?? commandserver.java
字號:
package trader.nw;
import java.io.*;
import java.net.*;
import trader.*;
import trader.db.*;
class CommandServer {
private int port;
private ServerSocket serverSocket;
private BrokerModel broker;
public CommandServer(int port, BrokerModel broker) {
this.port = port;
this.broker = broker;
try {
serverSocket = new ServerSocket(port);
System.out.println
("CmdServer created ServerSocket on port " + port);
} catch(Exception e) {
System.out.println("CmdServer ctor: " + e);
}
}
public void acceptConnection() {
Socket skt;
System.out.println("CmdServer.acceptConnection ");
while(true) {
try {
skt = serverSocket.accept(); // listening;
System.out.println("Connection + accepted");
service(skt);
} catch(Exception e) {
System.out.println("CmdServer.acceptConnection: " + e);
}
}
}
private void service(Socket socket) {
InputStream is;
ObjectInputStream ois;
OutputStream os;
ObjectOutputStream oos;
try {
is = socket.getInputStream();
ois = new ObjectInputStream(is);
os = socket.getOutputStream();
oos = new ObjectOutputStream(os);
while (true) {
Command cmd = (Command) ois.readObject();
System.out.println("CmdServer.service " + cmd);
cmd.execute(broker);
oos.writeObject(cmd);
}
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
String dbHost = "localhost";
try {
if (args.length > 0) {
dbHost = args[0];
}
BrokerModel brokerModel = new BrokerModelDbImpl(dbHost);
CommandServer server = new CommandServer(6001, brokerModel);
server.acceptConnection();
} catch(Exception e) {
e.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -