私はこのコードを持っています
@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()
を参照してください。