【问题标题】:SignalR Java client only supports exactly 1.3SignalR Java 客户端仅支持 1.3
【发布时间】:2014-05-24 17:20:05
【问题描述】:

SignalR 的 Java 客户端只支持 1.3 版有什么原因吗?

https://github.com/SignalR/java-client/blob/f226631da562cfaacbe8b16d5a9ecbf8205e7c99/signalr-client-sdk/src/microsoft/aspnet/signalr/client/Connection.java#L597

不应该所有客户端都向后兼容吗?是否有任何危害并更改verifyProtocolVersion 方法以验证协议是否小于或等于1.3?出于测试目的,我只是返回 true,跳过整个方法体,看看它是否适用于我的 1.2.1 服务器,并且确实有效。

也许这应该被认为是一个错误?

【问题讨论】:

    标签: java signalr


    【解决方案1】:

    SignalR 协议版本与 SignalR 包版本不一致。例如,SignalR 2.0.* 服务器支持使用 SignalR 协议的 1.2 或 1.3 版本与客户端通信:

    https://github.com/SignalR/SignalR/blob/2.0.3/src/Microsoft.AspNet.SignalR.Core/Infrastructure/ProtocolResolver.cs

    看起来 Java 客户端支持 SignalR 2.0.3 的最新 SignalR 协议版本。

    【讨论】:

    • 我明白这一点。除了 .NET 版本库,支持 1.3 的客户端库不应该支持 1.2 吗?我理解不向前兼容,但不向后兼容?
    • 迄今为止发布的 SignalR 客户端不支持使用旧版本协议与服务器通信。如我的回答中所述,当前服务器支持最后两个协议版本。 1.2 是 SignalR 1.* 在服务器和客户端上支持的唯一协议版本。虽然使 SignalR 2.* 客户端与 1.* 服务器兼容会很好,但事实并非如此。 SignalR 1.* 客户端与 2.* 服务器兼容。在许多情况下,升级服务器比升级客户端更容易。
    猜你喜欢
    • 2013-03-01
    • 1970-01-01
    • 2012-04-22
    • 2010-10-25
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多