gpt4 book ai didi

java - Jetty 如何创建自定义 WebSocket

转载 作者:搜寻专家 更新时间:2023-11-01 01:51:42 26 4
gpt4 key购买 nike

网上查了一下,发现创建套接字的方法是创建一个带有@WebSocket注解的类,然后对事件使用需要的注解方法。为了使用这个套接字,套接字处理程序是这样使用的:

import org.eclipse.jetty.websocket.server.WebSocketHandler;
import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;

import rsvp.RSVPSocket;

public class RSVPWebSocketHandler extends WebSocketHandler
{

@Override
public void configure ( WebSocketServletFactory factory )
{
factory.register( MySocket.class );
}

}

我的问题是:如果“MySocket”类有一个带参数的构造函数,我怎样才能让工厂正确调用那个构造函数?

最佳答案

您可以从您的 servlet 创建套接字。例如:

@WebServlet(name = "MyWebSocketServlet", urlPatterns = {"/myurl"})
public class MyWebSocketServlet extends WebSocketServlet {
private final static int IDLE_TIME = 60 * 1000;

@Override
public void configure(WebSocketServletFactory factory) {
factory.getPolicy().setIdleTimeout(IDLE_TIME);
factory.setCreator(new CustomWebSocketCreator());
}
}

和 CustomWebSocketCreator:

public class CustomWebSocketCreator implements WebSocketCreator {

@Override
public Object createWebSocket(ServletUpgradeRequest req, ServletUpgradeResponse resp) {
return new MySocket();
}
}

更多详情: http://www.eclipse.org/jetty/documentation/9.1.5.v20140505/jetty-websocket-server-api.html

关于java - Jetty 如何创建自定义 WebSocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27390944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com