启动客户端:
public class Client {
public static void main(String[] args) {
ClientPowerBoxSharedData sharedData = new ClientPowerBoxSharedData();
PowerBoxWSClient powerBoxWSClient = new PowerBoxWSClient(sharedData, new WebSocketClientRole("Cl"));
//connect to other address and port, do such that:
//new PowerBoxWSClient(sharedData, new WebSocketServerRole("IWebsocketServer"), "<Server Address>", <port>)
DGPBClientManager dgpbClientManager = new DGPBClientManager(powerBoxWSClient);
//以客户端管理器方式接管客户端进程启动
dgpbClientManager.start();
}
}
启动服务器:
public class Server {
public static void main(String[] args) {
//服务器运行时所向外暴露的共享数据
ServerPowerBoxSharedData sharedData = new ServerPowerBoxSharedData();
PowerBoxWSServer powerBoxWSServer = new PowerBoxWSServer(sharedData, new WebSocketServerRole("IWebsocketServer"));
//start on other port, like 10000, do such that:
//new PowerBoxWSServer(sharedData, new WebSocketServerRole("IWebsocketServer"), 10000)
//你也可以以直接让服务器进程启动
powerBoxWSServer.start();
}
}
要通过此框架来实现服务器和客户端启动,首先得知道构成一个Client或Server封装类构造器的一些参数:
建议是使用对应xxxServer(或Client)下的Builder类来获取对应封装类的实例;
public class Server {
public static void main(String[] args) {
ServerPowerBoxSharedData sharedData = new ServerPowerBoxSharedData();
PowerBoxWSServer powerBoxWSServer = PowerBoxWSServer.Builder.getBuilder()
//设置共享数据
.sharedData(sharedData)
//设置角色,用于信息验证
.role(new WebSocketServerRole("IWebsocketServer"))
//设置服务器进程运行端口
.port(9000)
.build();
//将服务器进程托管给相应的管理器
DGPBServerManager dgpbServerManager = new DGPBServerManager(powerBoxWSServer);
//启动
powerBoxWSServer.start();
}
}
更多有关内容请阅读源代码