在 ASP.NET Core 2.2中,我们将为 SignalR 新增一个 Java 客户端。此新客户端现在可用。此客户端支持从 Java 代码 (包括 Android 应用程序) 连接到 ASP.NET Core 的SignalR 服务端。
Java客户端的 API与现有的.NET 和 JavaScript客户端的 API 非常相似,但需要注意一些重要的区别。
使用 HubConnectionBuilder 类型,以相同的方式初始化 HubConnection。
代码语言:javascript复制HubConnection hubConnection = new HubConnectionBuilder()
.withUrl("www.example.com/myHub")
.configureLogging(LogLevel.Information)
.build();
就像在.NET客户端中一样,我们可以使用 send 方法发送调用。
代码语言:javascript复制hubConnection.send("Send", input);
可以使用 on 方法注册服务器调用的处理程序。这里的一个主要区别是, 由于 Java处理泛型的方式不同, 必须将参数类型指定为参数。
代码语言:javascript复制hubConnection.on("Send", (message) -> {
// Your logic here
}, String.class);
安装Java客户端
如果您使用的是 Gradle,则可以将以下行添加到 build.gradle 文件中:
代码语言:javascript复制implementation 'com.microsoft.aspnet:signalr:0.1.0-preview1-35029'
译者注:正式版可能名称有变化
如果您使用的是 Maven,则可以将以下行添加到 pom. xml 文件的依赖项部分:
代码语言:javascript复制<dependency>
<groupId>com.microsoft.aspnet</groupId>
<artifactId>signalr</artifactId>
<version>0.1.0-preview1-35029</version>
</dependency>
完整样例代码请参见:https://github.com/aspnet/SignalR-samples/tree/master/AndroidJavaClient