在网上浏览时,我发现创建套接字的方法是使用@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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句