static void acceptClientThread(Object obj) { Socket s = obj as Socket; int ID = 1; while (quit == false) { var newClientSocket = s.Accept(); var myThread = new Thread(clientReceiveThread); myThread.Start(new ReceiveThreadLaunchInfo(ID, newClientSocket)); ID++; lock (clientDictionary) { String clientName = "client" + clientID; clientDictionary.Add(clientName, newClientSocket); Thread.Sleep(500); var player = new Player { dungeonRef = dungeon }; player.Init(); PlayerList.Add(player); clientID++; } } }
static void createNewUser(string username) { var player = new Player { username = username }; player.Init(conn); Console.WriteLine("user created"); }
static void acceptClientThread(Object obj) { Socket s = obj as Socket; int ID = 1; while (true) { var newClientSocket = s.Accept(); var myThread = new Thread(clientReceiveThread); myThread.Start(new ReceiveThreadLaunchInfo(ID, newClientSocket)); lock (clientDictionary) { String clientName = "client" + ID; clientDictionary.Add(clientName, newClientSocket); Console.WriteLine(clientName + ": Connected"); var player = new Player { dungeonRef = dungeon, playerName = "Player" + ID, clientID = clientName }; player.Init(); PlayerList.Add(player); var dungeonResult = dungeon.DungeonInfo(player, true); lock (outMessages) { outMessages.AddLast(clientName + ":" + dungeonResult); } //lock (outMessages) //{ // foreach (KeyValuePair<String, Socket> client in clientDictionary) // { // outMessages.AddLast(client.Key + ":" + dungeonResult); // } //} //Thread.Sleep(500); ID++; } } }
static void acceptClientThread(Object obj) { Socket s = obj as Socket; int ID = 1; while (quit == false) { var newClientSocket = s.Accept(); var myThread = new Thread(clientReceiveThread); myThread.Start(new ReceiveThreadLaunchInfo(ID, newClientSocket)); lock (clientDictionary) { String clientName = "client" + ID; clientDictionary.Add(clientName, newClientSocket); var player = new Player { dungeonRef = dungeon, playerName = "Player" + ID, clientName = clientName }; player.Init(); PlayerList.Add(player); var dungeonResult = dungeon.GiveInfo(player); lock (outgoingMessages) { outgoingMessages.AddLast(clientName + ":" + dungeonResult); } } ID++; } }
static void acceptClientThread(Object obj) { Socket s = obj as Socket; int ID = 0; while (quit == false) { var newClientSocket = s.Accept(); var myThread = new Thread(clientReceiveThread); myThread.Start(new ReceiveThreadLaunchInfo(ID, newClientSocket)); lock (clientDictionary) { String playerID = "client" + ID; clientDictionary.Add(playerID, newClientSocket); var player = new Player { dungeonRef = dungeon }; player.Init(); PlayerList.Add(player); var dungeonResult = dungeon.RoomInfo(player); lock (outgoingMessages) { outgoingMessages.AddLast(playerID + ":" + dungeonResult); } ID++;//Iterates on ID as to not leave players with the same ID } } }