static void Main(string[] args) { //IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); TcpListener tcpListener = new TcpListener(IPAddress.Any, 8888); tcpListener.Start(); //TcpClient clientSocket = default(TcpClient); int counter = 0; // count client //serverSocket.Start(); Console.WriteLine(" >> " + "Server Started"); counter = 0; while (true) { counter += 1; TcpClient tcpClient = tcpListener.AcceptTcpClient(); Console.WriteLine(" >> " + "Client No:" + Convert.ToString(counter) + " started!"); handleClinet client = new handleClinet(); client.startClient(tcpClient, Convert.ToString(counter)); } tcpListener.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(" >> " + "Server Started"); counter = 0; while (true) /* State your Condiitons like when and how your server should listen basically server properties*/ { counter += 1; clientSocket = serverSocket.AcceptTcpClient(); Console.WriteLine(" >> " + "Client No:" + Convert.ToString(counter) + " started!"); handleClinet client = new handleClinet(); client.startClient(clientSocket, Convert.ToString(counter)); } clientSocket.Close(); serverSocket.Stop(); Console.WriteLine(" >> " + "exit"); Console.ReadLine(); }
/// <summary> /// Main ;) /// </summary> /// <param name="args"></param> static void Main(string[] args) { IPAddress ip; // adres na którym serwer będzie nasłuchiwał (zawsze 127.0.0.1), tzn będzie zbierał cały ruch ip = IPAddress.Parse("127.0.0.1"); // uruchomienie serwera nasłuchu TCP // Pakiet TCP wchodzi do baru: // -Poproszę piwo. // -Piwo ? // -Tak, piwo. TcpListener serverSocket = new TcpListener(ip, 8888); TcpClient clientSocket = default(TcpClient); User nowyUser; int counter = 0; // start serwera serverSocket.Start(); Console.WriteLine("Chat Server Started ...."); counter = 0; // pętla przyjmująca nowych klientów while ((true)) { counter += 1; // do TcpListener'a zgłasza się nowy TcpClient clientSocket = serverSocket.AcceptTcpClient(); // tablica bajtów z wiadomoscią byte[] bytesFrom = new byte[10025]; // stworzenie streamu od klienta NetworkStream networkStream = clientSocket.GetStream(); // odczytanie wiadomości (czytanie do bytesFrom, streamu o długości (int)clientSocket.ReceiveBufferSize ) networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize); // konwersja bajtów do obiektu z wiadomością Msg msg = mConv.doMsg(bytesFrom); // stworzenie obiektu Usera trzymającego nickName oraz Socketa nowyUser = new User() { nickName = msg.Nadawca, clientSocket = clientSocket }; // przypisanie GUID nowegoUsera do wiadomosci msg.GuidNadawca = nowyUser.GUID; // dodanie Usera do Listy userów aktywnych na tym serwerze clientsList.Add(nowyUser); Console.WriteLine(msg.Nadawca + " Try to login to server "); processingNewMessage(msg); // utworzenie obiektu trzymającego komunikację Usera z serwerem handleClinet client = new handleClinet(); // uruchomienie clienta (wysłanie Socketa, danych, (adresu) Listy pozostałych klientów client.startClient(clientSocket, msg.Nadawca, msg.GuidNadawca, clientsList); if (wylaczServer == true) { break; } } clientSocket.Close(); serverSocket.Stop(); Console.WriteLine("exit"); Console.ReadLine(); } // end Main metod