Thanks for the input Roberts, actually upgrade request fails for an http request made. For ws:// request I am seeing connection failed. Do I need to add websocket-jetty related
configuration in jetty.xml configuration file?
Can some please share a snippet of the configuration to be added ?
Thanks,
Yash Sharma
From: Lachlan Roberts <lachlan@xxxxxxxxxxx>
Sent: Monday, March 11, 2024 12:52 PM
To: JETTY user mailing list <jetty-users@xxxxxxxxxxx>
Cc: Yash Sharma <ysharma@xxxxxxxxx>
Subject: EXTERNAL- Re: [jetty-users] websocket-jetty-server not able to upgrade request to websocket
CAUTION: This email originated from outside
eGain. Do not click links or open attachments unless you can verify the sender and know the content is safe.
|
These two lines do exactly the same thing btw, so might want to remove one
factory.register(MySocket.class);
factory.addMapping("/", (req,res)->new MySocket());
Can you look at the HTTP response to the websocket upgrade request.
You also can enable Jetty debug logging for websocket and see exactly what is happening.
Hi All,
I am trying to make websocket connection using html and _javascript_.
My client is as follows:
const socketUrl = "ws://host:port/example";
const socket = new WebSocket(socketUrl);[
And I have Servlet as follows
@WebServlet(name = "WebSocket Servlet", urlPatterns = { "/example" })
public class MyWSServlet extends JettyWebSocketServlet
{
@Override
public void configure(JettyWebSocketServletFactory factory) {
factory.setIdleTimeout(Duration.ofSeconds(1000));
factory.register(MySocket.class);
factory.addMapping("/", (req,res)->new MySocket());
}
}
@WebSocket
public class MySocket{
@OnWebSocketConnect
public void onConnect(Session session) {
System.out.println("Connect: " + session.getRemoteAddress());
}
}
I am using websocket-jetty-server dependency in pom.xml
When I try to hit the ws api, at server side I see that in upgradeRequest() validateNegotiation returns false and hence request is not upgraded to websocket.
As per chat gpt negotiateHeaders() is responsible to add Upgrade:websocket in request headers. But I do not see that happening in jetty.
I have attached stack trace for reference. Can someone please help me with this problem to establish a websocket connection using jetty?
The message that I see in browser console is “connection to 'ws://host:port/example' failed:”
Thanks,
Yash Sharma
_______________________________________________
jetty-users mailing list
jetty-users@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users
|