static void Main(string[] args) { IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); int port = 8888; TcpListener serverSocket = new TcpListener(ipAddress, port); TcpClient clientSocket = default(TcpClient); serverSocket.Start(); Console.WriteLine("Server is running, listening on: " + ipAddress + ":" + port); int counter = 0; while (true) { counter++; clientSocket = serverSocket.AcceptTcpClient(); byte[] bytesFrom = new byte[1024]; string dataFromClient = null; NetworkStream networkStream = clientSocket.GetStream(); networkStream.Read(bytesFrom, 0, bytesFrom.Length); dataFromClient = Encoding.ASCII.GetString(bytesFrom); dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$")); clientsList.Add(dataFromClient, clientSocket); Broadcast(dataFromClient + " joined ", dataFromClient, false); Console.WriteLine(dataFromClient + " joined chat room "); HandleClient client = new HandleClient(); client.StartClient(clientSocket, dataFromClient, clientsList); } clientSocket.Close(); serverSocket.Stop(); Console.WriteLine("exit"); Console.ReadLine(); }
static void Main(string[] args) { TcpListener serverSocket = new TcpListener(8888); TcpClient clientSocket = default(TcpClient); int counter = 0; serverSocket.Start(); Console.WriteLine("Chat Server Started ...."); counter = 0; while ((true)) { counter += 1; clientSocket = serverSocket.AcceptTcpClient(); Console.WriteLine(counter); byte[] bytesFrom = new byte[65536]; string dataFromClient = null; NetworkStream networkStream = clientSocket.GetStream(); networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize); dataFromClient = System.Text.Encoding.UTF8.GetString(bytesFrom); dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$")); clientsList.Add(dataFromClient, clientSocket); broadcast(dataFromClient + " Joined ", dataFromClient, false); Console.WriteLine(dataFromClient + " Joined chat room "); HandleClient client = new HandleClient(); client.startClient(clientSocket, dataFromClient, clientsList); } clientSocket.Close(); serverSocket.Stop(); Console.WriteLine("exit"); Console.ReadLine(); }
/// <summary> /// Listens for new connections and handles them. /// </summary> static void Main() { var serverSocket = new TcpListener(IPAddress.Any, 8888); serverSocket.Start(); Console.WriteLine("Chat server started..."); string player = "player"; while (true) { //This next line of code actually blocks var clientSocket = serverSocket.AcceptTcpClient(); playerList.Add(player); playerList[playerList.Count - 1] = playerList[playerList.Count - 1] + (playerList.Count - 1).ToString(); player = playerList[playerList.Count - 1]; //Somebody connected and sent us data... and no clientSocket doesn't have a method called ReadString: See TcpClientExtension.cs string dataFromClient = clientSocket.ReadString(); //Add the name and StringSocket to the Dictionary object ClientList.Add(player, clientSocket); //Tell everyone that someone new joined! Broadcast(player + " joined.", player, false); //Log the fact to the server console Console.WriteLine(player + " joined cat room."); //Create a new object to Handle all future incoming messages from this client var client = new HandleClient(); //Start that thread running client.StartClient(clientSocket, player); } }