有SignalR的运行示例,但在那些中,我看到该过程由客户端启动,即每段代码包含以下类似的行
$.connection.hub.start().done(function () {
$('#mybutton').click(function () {
notifier.server.doLongOperation();
});
});
服务器上的流程从 $(' #mybutton')开始。点击然后回复。
我的理解是否正确?如果是,则可以通过服务器启动该过程吗?我的意思是服务器会将消息推送到所有客户端,而无需从客户端进行任何触发。
这没有用
var context = GlobalHost.ConnectionManager.GetHubContext<Broadcast>();
context.Clients.All.Send(message);
我的错误,客户端的方法名称不正确。问题已解决
答案 0 :(得分:0)
是的,可以发送服务器发起的&#34;消息&#34;从服务器到客户端。请注意,您必须在客户端上调用方法。请注意,它是RPC / Remoting类型的通信。
在服务器上,你有这样的代码:
Clients.All.Say("Hello World!");
客户端需要定义一个函数:
myHub.client.say = function (message) {
console.log(message);
});