JS部分html
$.connection.hub.start().done(function () { alert(ok); }).fail(function (error) { alert(error); });web
創建鏈接, done 成功後的回掉函數,fail 失敗後的回掉函數,基本全部的通信操做(調用服務端 函數等)均可以這麼寫websocket
$.connection.hub.error(function (error) { alert(error); }); $.connection.hub.disconnected(function () { alert("123"); });socket
鏈接狀態的事件監聽有ide
events = { onStart: "onStart", onStarting: "onStarting", onReceived: "onReceived", onError: "onError", onConnectionSlow: "onConnectionSlow", onReconnecting: "onReconnecting", onReconnect: "onReconnect", onStateChanged: "onStateChanged", onDisconnect: "onDisconnect" }函數
這些,基本都是用這個方法來掛載事件的 Js部分調用可用複雜類型以下server
$('#timestop').click(function () { var person = new Object(); person.Age = 10; person.Name = "123"; chat.server.stop(person); }); tob_id_4294htm
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事件