我打算创建一个聊天应用程序,我已经读过
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,但它的代码让我流鼻血.请问你能提供简单的例子吗?)
@R_403_323@
您不必打开多个连接,只需一个,但要使用组:
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); } }
一组意味着一个房间,因此每当一个用户加入一个房间时,您只需将该用户添加到该房间的组中,当您想要广播消息时,只需将消息发送给该组中的客户端即可.