I am trying to load test our web app which is a real time gaming app written using code using asp.net core and signalr technology. We are using JMeter WebSocket Samplers by Peter Doornbosch for websocket communication.But we are not able to get any messages from the signalr server(except the ping frames from the websocket layer). The text message I am trying to read is a broadcast from server to all connected clients, so I can see that the message has been received by the browser clients but the jmeter client is not getting it. I have sniffed traffic to both browser and jmeter client and found that the server messages are not at all received at jmeter client but are in browser. So I think I am missing some parameter or a header in the initial connection establishment step so the server is not able detect the jmeter client even though the webSocket connection is open at that time and websocket layer pings are getting reached to jmeter client.
Things done in Jmeter :-
Anybody having prior experience with jmeter and singnalr using webSocket as transport could shed some light? Any leads are welcome. Thanks in advance
As per questioner requested here my comment as an answer:
For the write step I had to send a square character at the end , I could see this in the developer console of the browser when I checked what the website is doing. To my understanding it signals the "end" of your request. Without this square character it didn't work for me.
I can't tell what unicode character this square character is but it seems to signal the end of a signalr write.
I checked the unicodes and it could be this one: □ which is unicode 9633