Problem beim Versenden von einem String per Client an Server[gelöst]
-
Server::Handle_Client(s);Du versuchst auf dem Server Socket zu empfangen... versuchsmal mit dem Client Soccket...

-
theta schrieb:
Server::Handle_Client(s);Du versuchst auf dem Server Socket zu empfangen... versuchsmal mit dem Client Soccket...

Der Client schickt ihm aber einen String. Muss der vom Server nicht rein theoretisch ausgelesen werden?
Client:
DWORD WINAPI writer(PVOID pParam) { char buffer[BUF_SIZ] = "gar nichts"; int bytes; SOCKET s; s = *(SOCKET*)pParam; while((bytes = recv(s, buffer, sizeof(buffer), 0)) > 0) fwrite(buffer, 1, bytes, stdout); return 0; }
-
Ich verstehe nicht, wie das funktionieren soll. Kannst Du mir ein Beispiel geben?
-
Bitte, denn ich will das echt verstehen...
-
Wie wärs mit ein wenig Geduld? Dein erster Post ist gerade mal 1.5 Stunden her...

-
außerdem wird hier nicht alles verraten.
-
Das war nun genug Geduld, oder?
-
Ich versuche gerade einen einfachen char String zu senden:
Server:
int Server::Handle_Client(const int sock) { int bytes, err; char banner[] = "Welcome to the Foobar server!\r\n"; bytes = send(sock, banner, strlen(banner), 0); if (bytes == -1) { perror("send() in send_banner() failed"); err = WSAGetLastError(); std::cout << err; return 1; } return 0; }Client:
int send_request(const int sock, const char *hostname) { char buf[BUF_SIZ]; int bytes; bytes = recv(sock, buf, sizeof(buf) - 1, 0); if (bytes == -1) { perror("recv() in get_banner() failed"); return 1; } buf[bytes] = '\0'; printf("Banner is \"%s\"\n", buf); return 0 }WSAGetLastError() gibt immer aus, dass der Socket nicht verbunden ist. 10057. Wieso?? Alles andere vorher funktioniert nämlich und auch der Socket ist angeblich verbunden, dann aber plötzlich nicht mehr?!
-
hat sich erledigt. closed.
-
Zum Glück, dein Spam war unerträglich

-
Und? Tust Du jetzt dein von accept() erzeugtes Client Socket verwenden?
Simon
-
theta schrieb:
Und? Tust Du jetzt dein von accept() erzeugtes Client Socket verwenden?
SimonJa.