Problema Socket C#

di il
3 risposte

Problema Socket C#

Salve ragazzi, sto provando a realizzare un client ed un server ma ho un problema: il socket sembra non ricevere il messaggio che invio.

Server:

            TcpListener Server = new TcpListener(Dns.GetHostEntry("localhost").AddressList[0], 8080);

            Server.Start();

            while (true)
            {
                System.Threading.Thread.Sleep(10);

                TcpClient Client = Server.AcceptTcpClient();

                NetworkStream NSc = Client.GetStream();

                byte[] Data = new byte[256];
                int Mex = NSc.Read(Data, 0, Data.Length);

                Console.Write(System.Text.Encoding.ASCII.GetString(Data, 0, Data.Length));
            }
Client:

            string SNickname;
            byte[] Connesso;
            byte[] Data = new byte[256];

            Console.Write("Nickname >> ");
            SNickname = Console.ReadLine();


            Console.Clear();

            TcpClient Client = new TcpClient(Convert.ToString(Dns.GetHostEntry("localhost").AddressList[0]), 8080);
            Connesso = System.Text.Encoding.ASCII.GetBytes(SNickname + " connesso.");

            NetworkStream NSc = Client.GetStream();
            NSc.Write(Connesso, 0, Connesso.Length);

            Console.Write(SNickname + " >> ");
            Data = System.Text.Encoding.ASCII.GetBytes(Console.ReadLine());

            NSc = Client.GetStream();
            NSc.Write(Data, 0, Data.Length);

            NSc.Close();
            Client.Close();

Quando inserisco nel client il nickname invia al server "Nickname connesso." e fino a qui ci siamo, ma quando provo ad inviare Data non succede nulla.

3 Risposte

  • Re: Problema Socket C#

    Risolto
  • Re: Problema Socket C#

    Eventualmente puoi spiegare cosa non funzionava
  • Re: Problema Socket C#

    
                string SNickname;
                byte[] Connesso;
                byte[] Data = new byte[256];
    
                Console.Write("Nickname >> ");
                SNickname = Console.ReadLine();
    
    
                Console.Clear();
    
                TcpClient Client = new TcpClient(Convert.ToString(Dns.GetHostEntry("localhost").AddressList[0]), 8080);
                Connesso = System.Text.Encoding.ASCII.GetBytes(SNickname + " connesso.");
    
                NetworkStream NSc = Client.GetStream();
                NSc.Write(Connesso, 0, Connesso.Length);
    
                Console.Write(SNickname + " >> ");
                Data = System.Text.Encoding.ASCII.GetBytes(Console.ReadLine());
    
                Client = new TcpClient(Convert.ToString(Dns.GetHostEntry("localhost").AddressList[0]), 8080);   // NUOVA RIGA
                NSc = Client.GetStream();
                NSc.Write(Data, 0, Data.Length);
    
                NSc.Close();
                Client.Close();
    
    Poco prima del codice che invia Data ho aggiunto una nuova riga (NUOVA RIGA) che "riavvia" il client e che adesso permette di inviare il messaggio.
Devi accedere o registrarti per scrivere nel forum
3 risposte