2017-10-11 331 views
2

我需要从我的Java桌面应用程序访问使用SignalR Hub运行的websocket服务器。如何仅使用websockets将java客户端连接到SignalR Hub?

  • a library这正是这么做的,但它已经死了。有很多问题和拉请求,并且自2015年以来一直未更新。
  • 我也发现another library,但据我所知,它只适用于Android项目。
  • 我发现a SO question表示可以用一些解决方法直接与SignalR服务器(标准websocket调用)通话,但给定的链接已经死亡。

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

任何人都可以帮忙吗?

回答

1

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

话虽如此 - SignalR for ASP.NET Core的新版本不再有这个协议和要求,它可以连接到服务器只有裸露的websockets。我前一段时间创建了一个演示,演示如何执行此操作 - 您可以找到详细信息here。我也是started working上的一个集线器层的例子,但需要完成它。

相关问题