java – 如何使用JEE7 Websockets将参数传递给@OnOpen方法,

我有这个代码

@ServerEndpoint(value = "/websocket")
public class Service {
    private String clientId; 
    @OnOpen
    public void init(Session session) throws IOException {
         //opening a websocket
         // get clientId
         clientId = // Code here to get initialization parameter.
    }

}

如何从客户端打开套接字来获取初始化参数?

解决方法

取决于你的初始化参数是什么意思你可以这样做:

@ServerEndpoint(value = "/websocket/{clientId}")
public class Service {
    private volatile String clientId; 
    @OnOpen
    public void init(@PathParam("clientId") String clientId,Session session) throws IOException {
         this.clientId = clientId;
    }
}

然后,您将使用以下URL访问您的端点:ws:// host / contextPath / websocket / [clientId].

如果使用查询参数,请参阅Session#getQueryString().

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。