is it possible to send a data when a websocket connection is opened
19,423
Solution 1
There is no support for this in the protocol but you could fudge something yourself.
- When your server completes a handshake, store the initial message you want to deliver to a client.
- In your client's
onopen
function, send a "read initial message" request. - In your server, check that this client hasn't read its initial message; respond with the message; set a flag saying that the initial message has been sent.
- Your client and server are both now free to send other messages.
Solution 2
Don't forget the query string. It's valid in WebSocket url.
new Websocket('ws://yoursite.com/path?a=1&b=2&c=3')
Then you can easily parse this url on server side to retrieve the data.
Author by
DPD
Updated on June 14, 2022Comments
-
DPD about 2 years
I am implementing a Jetty Websocket servlet. When the server receives a new connection, I want to send a message that will be read by websocket's onopen function. I want this message to be sent only during the open and not using the regular connection.SendMessage() function. Is it possible to do that? and how?
-
DPD almost 12 yearsThanks, I was wondering if I may have missed something when searching online. I'll follow the approach you have suggested.
-
Chris Scott almost 7 yearsya but how do you parse the url on the server side? where is the url itself made available?
-
jl. over 6 yearsshould probably also mention the option of a @PathParam... see this answer