Jetty连接器 - 如何创建多个websocket处理程序

时间:2017-10-31 21:15:13

标签: java eclipse jetty java-websocket

对于客户端 - 服务器应用程序,我创建了以下使用连接器侦听端口8080的服务器。

 c = resp.split(' - ','\r\n\n')
    lst = c[::2]
    list = []
    list.append(lst)
    print(list)

}

此连接器将PrimarySocketHandler作为带有@WebSocket注释的上下文:

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.websocket.server.WebSocketHandler;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.ResourceHandler;
import org.eclipse.jetty.server.Handler;




public class ProjectController {

public static void main(String[] args) throws Exception {

    Server server = new Server();

    ServerConnector primary=new ServerConnector(server);
    primary.setPort(8080);
    primary.setName("Primary");
    server.addConnector(primary);

    ServerConnector secondary=new ServerConnector(server);
    secondary.setPort(4321);
    secondary.setName("Secondary");
    server.addConnector(secondary);

    WebSocketHandler primaryHandler = new WebSocketHandler() {
        @Override
        public void configure(WebSocketServletFactory factory) {
            factory.register(PrimarySocketHandler.class);
        }
    };


    server.setHandler(primaryHandler);
    server.start();
    server.join();
}

我想使用第二个连接器在不同端口上从客户端打开并行连接。我可以创建一个新的websocket处理程序(类)并将其映射到新连接器吗?如果是这样,怎么样?

基本上,我需要的是服务器的两个“实例”同时监听不同的端口,所以我需要两个处理程序来处理来自每个端口的传入数据。

我也对不同的方法持开放态度。

0 个答案:

没有答案