[.NET] [C#] Mehrere offene Sockets zulassen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von MisterJ, 14. Januar 2007 .

  1. 14. Januar 2007
    [C#] Mehrere offene Sockets zulassen

    Hi Leute!

    Ich habe mal ein Chat-Server und nen -Client geschrieben. Aufgabe ist erstmal, nur Nachrichten an den Server zu schicken. Das klappt schon, es können auch mehrere verbinden, allerdings nur einer etwas sagen. Weiß jemand, was ich am Server ändern muss? Der Source vom Client ist nicht so wichtig, hier ist der vom Server:

    Code:
    using System;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    
    namespace Server
    {
     class ServerProgram
     {
     static void Main(string[] args)
     {
     ServerStarten();
     }
     public static void ServerStarten()
     {
     string inputS, outputS;
     int inputB, outputB;
     int port = 45678;
     byte[] puffer = new byte[256];
     IPEndPoint ep = new IPEndPoint(IPAddress.Parse("**.**.***.**"), port);
     Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     serverSocket.Bind(ep);
     serverSocket.Listen(10);
     Console.WriteLine(">>> Server läuft");
    
     while(true)
     {
     try
     {
     Socket socket = serverSocket.Accept();
     Console.WriteLine("--> Client angemeldet");
     while((inputB = socket.Receive(puffer)) != 0)
     {
     inputS = Encoding.ASCII.GetString(puffer, 0, inputB);
     Console.Write("Client>>> {0}\n", inputS);
     puffer = new byte[256];
     }
     socket.Shutdown(SocketShutdown.Both);
     socket.Close();
     Console.WriteLine("--> Client abgemeldet");
     }
    
     catch(Exception ex)
     {
     Console.WriteLine("Fehler aufgetreten: " + ex.Message);
     }
     }
     }
     }
    }
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.