如何仅使用websockets将Java客户端连接到SignalR Hub?

时间:2017-10-11 06:38:15

标签: java websocket signalr signalr-hub java-websocket

我需要从我的Java桌面应用程序访问与SignalR Hub一起运行的websocket服务器。

  • a library确实如此,但它已经死了。有很多问题和拉取请求,自2015年以来一直没有更新。
  • 我还找到了another library,但据我所知,这只适用于Android项目。
  • 我发现a SO question表示可以通过一些变通方法直接与SignalR服务器(标准websocket调用)对话,但是给定的链接已经死了。

当我尝试使用websocket直接访问服务器时,HTTP握手失败(我得到HTTP 200而不是101)。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:5)

您将无法使用裸webSocket连接到SignalR 2.x.原因是启动连接需要一些HTTP请求,这些HTTP请求必须以特定顺序发送并包含特定内容。我在blog post中描述了SignalR协议。阅读本文后,您将了解为什么SignalR 2.x的专用客户端存在。

话虽如此 - SignalR for ASP.NET Core的新版本不再具有此协议和要求,并且可以使用裸网格连接到服务器。我前段时间创建了一个演示,展示了如何执行此操作 - 您可以找到详细信息here。我还started working关于集线器层的示例,但需要完成它。