1
我正在使用JavaScript库连接到托管在控制台应用程序中的signalR服务器。在SignalR客户端设置状态变量
因此我连接和设置的客户端的方法,可以从服务器被称为像这样:
var connection = $.hubConnection('http://localhost:8080'),
proxy = connection.createHubProxy('TestApp');
proxy.on('sendMessage', function() {
// do stuff!
});
其中详细here进行说明。
但是,以这种方式使用客户端JavaScript的文档没有解释如何往返信息(在客户端设置“状态”变量并使其可从服务器访问)。
这可能很明显,但任何帮助将不胜感激!
另外,有一些我认为与我很好奇的密切相关的东西。我知道打电话像这样的服务器上的功能(从文档上面链接)后的客户端代码可以得到一个返回值/回调
proxy.invoke('add', 1, 2)
.done(function(result) {
console.log('The result is ' + result);
});
但有可能使服务器从客户端得到一个回调当客户完成任务? (很明显,只要客户端触发预定义的事件就可以解决这个问题,但如果可能,无需设置其他事件就可以处理所有回调。)
Thanks!
非常感谢您的回复。实际上,我在发布之前直接尝试设置了proxy.state,但现在我想到了,它可能失败了,因为我试图在服务器集线器上的onConnect事件期间读取Clients.Caller.foo。也许它只是不能从这个事件中调用?它可能失败的另一个可能的原因是,我在连接建立之前在客户端上设置了状态(在开始连接之前,我在其中设置了proxy.on(...)的相同位置)? –
设置状态时无关紧要,但只能读取服务器上方法调用的状态。因此,是的,你是正确的,你无法读OnConnected,OnDisconnected,OnReconnected状态 –
很高兴知道,再次感谢! –