SignalR

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);

        }

    }

你可能感兴趣的:(Signal)