我已经在WebRole.cs中实现了一个websocket服务器,目前它可以工作,用户可以使用网站的URL和指定的端点连接到服务器。现在假设我有50,000个用户想要连接到websocket服务器,我需要更多的Web角色实例来处理负载。
我的问题是,如果有多个Web角色实例,这是否会导致多个websocket服务器?即,用户仍然只使用单个URL / IP进行连接,并且所有用户都相互连接(例如,在广播消息时),还是用户需要输入不同的IP地址以连接到不同的websocket服务器(每个实例一个),并且仅与同一服务器/实例上的用户相连?
编辑:具体问题
因此,如果在连接时将用户添加到:
消息会广播给网站上的所有用户,还是每个实例都有自己的用户列表,因此只会向连接到特定实例的用户广播?
我的问题是,如果有多个Web角色实例,这是否会导致多个websocket服务器?即,用户仍然只使用单个URL / IP进行连接,并且所有用户都相互连接(例如,在广播消息时),还是用户需要输入不同的IP地址以连接到不同的websocket服务器(每个实例一个),并且仅与同一服务器/实例上的用户相连?
编辑:具体问题
因此,如果在连接时将用户添加到:
private static List<UserContext> Users = new List<UserContext>();
在WebRole.cs文件中,我有一个广播方法:
private static void Broadcast(String message)
{
foreach (UserContext uc in Users)
{
uc.Send(message);
Console.WriteLine("Broadcasting to: " + Users.IndexOf(uc));
}
}
消息会广播给网站上的所有用户,还是每个实例都有自己的用户列表,因此只会向连接到特定实例的用户广播?