I have implemented a websocket server by following this tutorial: https://www.baeldung.com/java-websockets
Now how do I run this app? I am using Spring and my main function looks like this:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
and my websocket endpoint looks like this:
import java.io.IOException;
import javax.websocket.*;
import javax.websocket.server.*;
@ServerEndpoint(
value = "/chat/{username}",
decoders=MessageDecoder.class,
encoders = MessageEncoder.class
)
public class Controller {
// ...
}
now when I run this, and try to connect to the websocket endpoint like this: wsta ws://localhost:8080/chat/aa -I I get the following error:
WebSocket upgrade request
---
Host: localhost:8080
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: ...
Origin: http://localhost
WebSocket upgrade response
---
404 Not Found
Vary: OriginAccess-Control-Request-MethodAccess-Control-Request-Headers
Content-Type: application/json
Transfer-Encoding: chunked
Date: Tue, 05 May 2020 12:12:52 GMT
WebSocketError: WebSocket response error
The answer here (https://stackoverflow.com/a/57924245/10551293) says that you access the webscoket endpoint over ws://localhost:8080/context/chat/aa. What is context, and how do I get my server to run and accept incoming connections?