Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Client/Server send() recv()

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.12.2007, 08:55 Uhr
Mr.Bean06



Hi,

Ich hoffe, das ich hier richtig bin...

Ich sitze nun schon ne Weile an einem Problem fest.
Ich habe eine einfache Client/Server Struktur bei der ich nur eine Zahl an einen Serversenden möchte.
Der Server erhält auch ein paar Daten nur wenn ich mir die Zahl beim Server ausgeben lasse, dann steht da irgend ein Mist drinne.

Hier mal der Code vom Server:

C++:
char buffer[254];
    int bytes;
    
    //Daten die empfangen werden
  bytes = recv(s, buffer, sizeof(buffer) - 1, 0);
    
    buffer[bytes] = '\0';

  puts(buffer);

    //sprintf(buffer, "Received Number: %c", bytes);

  MessageBox(0, buffer, "WinSock Tutorial Series", MB_ICONINFORMATION);



Und hier der Teilcode vom Client:

C++:
//zu sendene Zahl
char clientNummer[254] = "123";

//Verbindung zum Server (Verbindung zum eigenen Socket, Serveradresse, Größe der Serveradresse)
    if(connect(s, (SOCKADDR *) &addr, sizeof(addr)) == SOCKET_ERROR)
        //wenn kein Connect, dann gibt es einen Socketerror und es wird eine Fehlermeldung ausgegeben
        return (MessageBox(0, "Verbindung fehlgeschlagen!", "WinSock Tutorial Series", MB_ICONEXCLAMATION));
    
    //zusendene Daten(mein Socket, den wert aus dem Buffer, Länge des Buffer, Flag)
    send(s, clientNummer, strlen(clientNummer), 0);



Was mache ich hier falsch? Wie kann ich nur eine simple Zahl senden?
danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.12.2007, 11:46 Uhr
Mr.Bean06



So gehts jetzt...

C++:
SOCKET clientSocket = accept(s,(struct sockaddr*)&addr, 0);
if (clientSocket == -1)
{
   cout<<"Fehler bei accept";
}

char buffer[254];
int bytes;
    
//Daten die empfangen werden
bytes = recv(clientSocket, buffer, sizeof(buffer) - 1, 0);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: