Asp.net-Mvc-3
SignalR 多個聊天室
我正計劃創建一個聊天應用程序,並且我讀到SignalR是最好的應用技術之一。
我見過這樣的例子,但他們只有一個聊天室。
我想要多個聊天室。使用者只需選擇其中一個聊天室。
雖然我是初學者,但我認為在 SignalR 中創建一個單獨的聊天室是這樣的:
<script type="text/javascript"> $(function () { var connection = $.connection.communicator; connection.receive = function (from, msg) { $("#chatWindow").append("<li>" + from + ": " + msg + "</li>"); }; $.connection.hub.start(); $("#btnSend").click(function () { connection.broadcast($("#txtName").val(), $("#txtMsg").val()); }); }); </script>var connection = 單個聊天室(我不確定)
所以如果我有很多連接(例如,connection1、connection2、connection3….)我可以有多個聊天室嗎?
再一次,我不確定這是否正確……請幫助我了解如何實現多個聊天室……
(PS:我看過JABBR,但它的程式碼讓我流鼻血。你能提供簡單的例子嗎?)
您不必打開多個連接,只需打開一個,但要使用
Group:public class MyHub : Hub, IDisconnect { public Task Join() { return Groups.Add(Context.ConnectionId, "foo"); } public Task Send(string message) { return Clients["foo"].addMessage(message); } public Task Disconnect() { return Clients["foo"].leave(Context.ConnectionId); } }一個組就是一個房間,所以每次有一個使用者加入一個房間,你只需將該使用者添加到該房間的組中,當你要廣播消息時,只需將消息發送給該組中的客戶端。