[C++] Visual Studio Chat Programm Freeze

Battl3inSeattle

PC-Selbstbauer(in)
Hallo Leute,

ich hab' vor einiger Zeit mal ein Chat Programm entwickelt, damals in der Konsole. Heute habe ich es ins Visual Studio in eine Visual Forms Anwendung konvertiert.
Das Problem: Das Programm friert bei der Dauerschleife, in der es die Sockets annimmt ein. Verbinden kann ich mich dennoch. Das ist schlecht, weil ich den Chat in einer Blockierten TextBox ausgeben will, was dadurch aber nicht geschieht (Interessanterweise auch schon vor der Dauerschleife nicht). Kennt ihr eine Möglichkeit das irgendwie zu ändern, oder muss ich notgedrungener Weise meinen Server im Konsolenfenster ausführen (wäre kein Drama, aber nicht so schön)?
 
Allgemeine Frage: Wenn es C++ ist, machst du das mit WinAPI oder .NET/C++? Form ist eher so .NET Sprech ^^

Nutzt du blockierende oder nichtblockierende Sockets? Ich habe da die Vermutung, dass du keine Window Events mehr abarbeitest, weil dein Socket auf eine Verbindung wartet.
 
.NET

Ich verwende blockierende Sockets. Und es ist ein Array von 25 Sockets der auf eine Verbindung wartet. ^^

Zu deiner Vermutung: Könnte es helfen, wenn ich für das "Listen" des SocketArrays einen eigene Thread erstelle?
 
Zuletzt bearbeitet:
Hi, danke für die Antwort...es funktioniert jetzt tatsächlich! - Allerdings nur nach ewigen Problemen, weil ich unbedingt mein Multithreading durchsetzen wollte, wie ich es in der Konsolenanwendung gemacht habe. Ich habe aufgegeben und die .net Variante System::Threading::Threads verwendet.

Jetzt muss noch der Client ran...der wird bestimmt noch eine weitere Woche in Anspruch nehmen.
 
Zurück