TcpServer
-
Hey C++ Com. ^^
ich hab da ein problem mit der TcpServer anwendung...
ich habe es nach langem probieren geschaft einen Client an einen Server
schreiben zu lassen, allerdings liest der Server nur eine nachricht ein...
egal wie oft man beim Client auf senden klickt...im TcpServer ereignis Accept habe ich folgendes stehen welches mir die Nachricht
in eine ListBox schreibt:ListBox1->Items->Add(ClientSocket->Receiveln());allerdings wie gesagt nur einen eintrag...
hat vlt. jemand einen tipp für mich wie ich mein problem lösen kann ?danke,
euer .
-
1. Sieht es aus als würdest Du C++/CLI verwenden (wegen der ListBox).
Falls ja:
Falsches Forum, korrekt wäre C++/CLI Forum und http://www.c-plusplus.net/forum/263084
2. Du musst nach dem Accept in einer Schleife immer wieder Receiveln(..) aufrufen.
Wenn Receiveln(..) blockierend ist, musst Du das entweder in einem neuen Thread tun oder falls möglich asynchrone Methoden Aufrufe benutzen. Kommt halt auf die Klasse TcpServer an.
-
Ich denke eher an VCL-C++.
-
wenn ich es so:
for (int i=0;i<=9;i++) { ListBox1->Items->Add(ClientSocket->Receiveln()); }löse zeigt es mir 10 nachrichten an und ab dann wieder nichts...
wie kann ich das anders lösen ohne das ich nur eine feste anzahl an nachrichten erhalten kann ????
-
Einfach eine andere Schleifenstruktur verwenden, z.B.:
String message;//welchen Typ du hier einsetzen mußt, fragst du die Doku do { message = ClientSocket->Receiveln(); ListBox1->Items->Add(message); } while(message != "QUIT");