Search code examples
signalrrsocket

RSocket controller sending Reactor Flux message to IIS hosted signalR client but nothing is received


In a dev environment a local IIS and signalR client web app creates a session with a spring boot RSocket server, and message flow is working fine.

After deployment to another server and a fresh IIS install, the signalR client can send messages to the server, creating a session from IIS port 6060 to server configured port, X (instead of 8082).

However, after the spring boot reactor Flux sends messages on port X back to the signalR client the messages are not being received by the client.

It's as if the IIS and signalR can fire and forget a send message to port X but not get a session that the port X can reply on.

Can anyone shed light on what's happening?


Solution

  • With a fresh install of the IIS <-> SignalR <-> RSockets <-> WebFlux messaging stack on another demo server and the same error appeared to happen. Though did not run TCP packet captures to check the send / receive message situation with Wireshark.

    First of all per SignalR .Net Core 3.1 Web Application not working on local IIS the IIS WebSockets feature was not switched on.

    Then, per SignalR 2.2 returns 404 Not Found on IIS 8.5 the requests to the server returned 404 errors. A / was discovered in a JSON date String in urlAPI was causing call to

    using (_myStream = new StreamReader(await client.GetStreamAsync(urlAPI)))

    to find another endpoint in the urlAPI that did not exist, producing HTTP 404 errors. So that was due to malformed URL.