ich hab ne kleine Client Server Apllication geschrieben die über den TCPListener und TCPClient komuniziert. Allerdings hab ich das Problem das wenn ich den Server starte und dieser lauscht, ich nach einigen Sekunden nicht mehr auf meine Form zugreifen kann. Wenn ich sie verschiebe erscheint die Sanduhr es oben in der Titelleiste steht keine Rückmeldung !?
Mir scheint als ob da irgendwas schief geht wenn der Server nach folgender Zeile steht und wartet: TcpClient c = listener.AcceptTcpClient ();
Hat da einer ne Idee ??? Unten der Code:
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
// Listener initialisieren
TcpListener listener = new TcpListener(4711);
// Listener starten
listener.Start ();
// Warten bis ein Client die Verbindung wünscht
lstevents.Items.Add("Server listen on Port '4711'");
lstevents.Update();
while(true)
{
TcpClient c = listener.AcceptTcpClient ();
// Stream für lesen und schreiben holen
StreamReader inStream = new StreamReader ( c.GetStream () );
String input = inStream.ReadLine ();
lstevents.Items.Add(input);
lstevents.Update();
// Verbindung schließen
c.Close ();
}
// Listener beenden
listener.Stop ();
}
Edit by Programmierhans: CSHARP-Tags eingefügt