title: Can a client connect directly to SignalR using only websockets?
body: <p>I want to build a real-time data API using SignalR on the server. I will be building a web client that will connect with the API the "usual way".</p>
  
  <p>However, I would like 3rd parties to also be able to connect to this API. These clients may be web clients or other platforms such as Windows, Mac, iOS, etc. Ideally, they'd just be able to connect via plain websockets and be totally agnostic of whether SignalR is in use on the server or not. </p>
  
  <p>It seems that there are a lot of libraries out there for clients on different platforms (<a href="https://github.com/adamhartford/SwiftR" rel="nofollow noreferrer">Swift</a>, <a href="https://github.com/DyKnow/SignalR-ObjC" rel="nofollow noreferrer">Objective-C</a>, <a href="https://github.com/SignalR/java-client" rel="nofollow noreferrer">Java/Android</a>, <a href="https://github.com/aspnet/SignalR-Client-Cpp" rel="nofollow noreferrer">c++</a>, etc) that would allow them to connect to my API. Another approach (that some of these libraries use) is to embed a hidden web view. Either way it's quite a bit to impose on the 3rd parties. It needs to be simpler.</p>
  
  <p>Is there a way to write a web application (for example) that only uses <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebSocket#Example" rel="nofollow noreferrer">standard websocket calls</a> and talks directly to my SignalR server without needing to include any SignalR specific scripts as dependencies? Can a non-web client do the same (i.e. make standard websocket calls, with no embedded web view)?</p>
  
  <p>Basically, I would like the effort 3rd parties need to go through to be no greater than if I decide to make a vanilla websocket API and avoid signalR entirely.</p>