chat示例代码
http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr
chatroom示例讲解
http://msdn.microsoft.com/zh-tw/library/dn535720.aspx
chat示例讲解
http://msdn.microsoft.com/zh-tw/library/dn535725.aspx
在线客服示例
http://www.codeproject.com/Articles/732190/Real-Time-Web-Solution-for-Chat-by-MVC-SignalR-H
客户端代码(浏览器)
// 建立與 Server 端的 Hub 的物件,注意 Hub 的開頭字母一定要為小寫
var chat = $.connection.codingChatHub;
// 建立連線後,我們接著來定義 client 端的 function 來讓 Server 端的 hub 呼叫。
chat.client.hello = function (message) {
$("#messageList").append("<li>" + message + "</li");
}
chat.client.sendAllMessge = function (message) {
$("#messageList").append("<li>" + message + "</li");
$("#message").val('');
}
// 將連線打開
$.connection.hub.start().done(function () {
// 當連線完成後,呼叫 Server 端的 hello 方法,並傳送使用者姓名給 Server
chat.server.hello(userID);
});;
$("#send").click(function () {
// 呼叫 Server 端的 sendMessage 方法,並傳送使用者姓名及訊息內容給 Server
chat.server.sendMessage(userID, $("#message").val());
});
服务端代码
public class codingChatHub : Hub
{
public void Hello(string name)
{
// 這邊會傳入 name 參數
// 呼叫所有連線狀態中頁面上的 javascript function => hello
// 透過 server 端呼叫 client 的 javascript function
string message = " 歡迎使用者 " + name + " 加入聊天室 ";
Clients.All.hello(message);
}
public void SendMessage(string name, string message)
{
// 這邊會傳入 name 和 message 參數
// 並且會呼叫所有連線狀態中頁面上的 javascript function => sendAllMessage
// 透過 server 端呼叫 client 的 javascript function
message = name + ":" + message;
Clients.All.sendAllMessge(message);
}
}