HTML5 websocket に基づいて、html5 Web マルチルーム チャットを作成したいと考えています。しかし、始めるには少し助けが必要です。
C# でサーバー側のコードを実行したいのですが、C# でマルチ ルームを使用してチャット Websocket サーバーを実行する方法のチュートリアルが見つかりません。
.net に既に実装されているサーバー、またはマルチ ルーム チャットに更新できるサーバーはありますか?
それは小さなプロジェクトで、10 人用の 1 つの部屋です。開始方法を教えていただけますか?
どうもありがとうございました !
コード構造の例を用意します。
メインサーバークラス:
class Program
{
// List of courses, which are currentli avalible ( REPRESENT CHAT ROOM)
protected static ConcurrentDictionary<Course, string> OnlineUsers = new ConcurrentDictionary<Course, string>();
static void Main(string[] args)
{
// Initialize the server on port 81, accept any IPs, and bind events.
var aServer = new WebSocketServer(81, IPAddress.Any)
{
OnReceive = OnReceive,
OnSend = OnSend,
OnConnected = OnConnect,
OnDisconnect = OnDisconnect,
TimeOut = new TimeSpan(0, 5, 0)
};
aServer.Start();
// Accept commands on the console and keep it alive
var command = string.Empty;
while (command != "exit")
{
command = Console.ReadLine();
}
aServer.Stop();
}
// event when the clients connect to server
// Server send to client list of Lessons which are avalible, after
private static void OnConnect(UserContext context)
{
throw new NotImplementedException();
}
// event whent the client, want to disconnect from server
private static void OnDisconnect(UserContext context)
{
throw new NotImplementedException();
}
// event, when client is sending some data
private static void OnSend(UserContext context)
{
throw new NotImplementedException();
}
// event, when server receive data from client
// client choose which room want to join and, we add cleint to list of lessons which he choose
// another method ... Register, Rename, LogOff ...
private static void OnReceive(UserContext context)
{
throw new NotImplementedException();
}
}
コースクラス: (ROOMS)
class Course
{
// Every course has list of active users
protected static ConcurrentDictionary<User, string> OnlineUsers = new ConcurrentDictionary<User, string>();
// Name of course
public String CourseName { get; set; }
}
ユーザークラス:
class User
{
// Name of User
public string Name = String.Empty;
// UserContext - Contains data we will export to the Event Delegates.
public UserContext Context { get; set; }
}
それは私の目的のために良い構造ですか?私は多くのコース (部屋) を持っており、1 人の教師がいて、1 つのコースで 20 人の生徒を受け入れることができます..