SignalR的一点点东西
JS部分
$.connection.hub.start().done(function () { alert(ok); }).fail(function (error) { alert(error); });
建立连接, done 成功后的回掉函数,fail 失败后的回掉函数,基本所有的通讯操作(调用服务端 函数等)都可以这么写
$.connection.hub.error(function (error) { alert(error); }); $.connection.hub.disconnected(function () { alert("123"); });
连接状态的事件监听有
events = { onStart: "onStart", onStarting: "onStarting", onReceived: "onReceived", onError: "onError", onConnectionSlow: "onConnectionSlow", onReconnecting: "onReconnecting", onReconnect: "onReconnect", onStateChanged: "onStateChanged", onDisconnect: "onDisconnect" }
这些,基本都是用这个方法来挂载事件的 Js部分调用可用复杂类型如下
$('#timestop').click(function () { var person = new Object(); person.Age = 10; person.Name = "123"; chat.server.stop(person); }); tob_id_4294
C# 部分 publicoverrideTask OnDisconnected() { returnbase.OnDisconnected(); } publicoverrideTask OnReconnected() { returnbase.OnReconnected(); } 通过重载父类Hub中的几个函数可以得到对连接状态变化的监听 publicvirtualTask OnConnected(); publicvirtualTask OnDisconnected(); publicvirtualTask OnReconnected(); 有这三个 Context.ConnectionId //每个websocket的连接ID,每个链接都是唯一的 Clients.Client(Context.ConnectionId).addNewMessageToPage(id, DateTime.Now.ToString("HH:mm:ss")); 向界面发送,通过connectionId来分辨具体发给哪一个客户端https://wenku.baidu.com/view/acf69bd2b52acfc788ebc906.html