在Android中从signalR调用服务器端功能
Calling server side function from signalR in Android
SignalR在Android中连接,但我想调用服务器上可用的函数
我尝试了以下代码,
String host = "Host URL";
HubConnection hubConnection = new HubConnection(host, "", false, new Logger() {
@Override
public void log(String message, LogLevel level) {
System.out.println("message - " + message);
}
});
hubProxy = hubConnection.createHubProxy("Task");
SignalRFuture<Void> signalRFuture = hubConnection.start().done(addSession("Session ID"));
和
private Action<Void> addSession(String sessionID) {
//hubProxy. [server is not available here]
}
在javascript中,我尝试了如下
$.connection.hub.start().done(function () {
addSession(sessionId)
});
function addSession(sessionId) {
proxy.server.addSession(sessionId)
.done(function () {
isHubConnected = true;
}
);
}
在javascript中,这非常有效,但在android中:(,
更新
通过像@AnikIslamAbhi的回答一样尝试,
signalRFuture = hubConnection.start().done(addSession("sessionID"));
private Action<Void> addSession(String sessionID) {
System.out.println("addSession : " + sessionID);
hubProxy.invoke("addSession", sessionID);
return null;
}
我收到以下错误消息,
InvalidStateException: The operation is not allowed in the 'Connecting' state
在javascript中,您使用的是Auto proxy。
但在安卓系统中,你正在使用手动代理
两者在行为上都有差异。
像
使用自动代理调用服务器端方法
proxy.server.addSession(sessionId)
使用手动代理调用服务器端方法
proxy.invoke("addSession", sessionId)
您可以在这个链接上找到更多
相关文章:
- 如何使用skip参数使用angular ui引导进行服务器端分页
- Webpack开发服务器和React服务器端渲染
- 提示使用服务器端事件处理程序激活JavaScript
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 将表单数据提交到服务器端
- 使用ajax的服务器端分页&jQuery
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 在Android中从signalR调用服务器端功能
- on单击触发服务器端功能
- RoR 服务器端功能 - 如何制作
- 单击按钮时执行客户端和服务器端功能 - 特定方案
- 服务器端Javascript是否有类似Java类路径的功能
- AJAX成功服务器端功能
- 传递信息到服务器端的功能在谷歌文档添加
- 调用服务器端功能,运行在我的网站后台
- 用javascript在asp.net中取消服务器端提交功能
- 在页面刷新时在服务器端功能期间显示加载图标
- 我如何从客户端调用服务器端按钮单击功能