I've written a small echo-server (.net 4.5), console client (.net 4.5) and web client using SignalR and example presented here.
Server is hosted in IIS8/Win8. Then I ran both clients on Win7. and I see that web client in Chrome uses webSockets, while console app client uses serverSentEvents. If I run console client on Win8, then webSockets transport is in use.
Is it true that SignalR .NET client will use webSockets only on Win8 and higher?
It's correct: .NET client uses WebSockets only on Win8 and higher.
For a project I had to use real websocket connections in combination with SignalR.
For Windows versions that don't support websockets you can use the WebSocket4Net NuGet package and the following implementation of SignalR IClientTransport.
To create a websocket client use a try-catch to detemine which websocket implementation should be used.
Start connecting to the SignalR hub.