Senden und Empfangen :s

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Senden und Empfangen :s

      Hallow Leutz,
      ich habe mich in letzter Zeit mit der Netwerkprgrammierung beschäftigt ( TCP/IP ) klappt auch
      alles ganz gut. Aber beim senden und empfangen von Nachrichten kommt es iwie zu Problemen :s

      Client:

      Quellcode

      1. ...
      2. char buffer[256];
      3. ...
      4. rc = send(connectedSocket, buffer, 10, 0);
      5. if(rc == SOCKET_ERROR){
      6. printf("Nachricht konnte nicht gesendet werden, fehler code: %d\n", WSAGetLastError());
      7. }else{
      8. printf("Nachricht wurde gesendet!\n");
      9. }
      10. ...
      Alles anzeigen
      Server:

      Quellcode

      1. ...
      2. char buffer[256];
      3. ...
      4. rc = recv(connectedSocket, buffer, 256, 0);
      5. if(rc == SOCKET_ERROR){
      6. printf("Nachricht konnte nicht empfangen werden, Fehler Code: %d\n", WSAGetLastError());
      7. } else{
      8. printf("Nachricht: %d\n", buffer[rc]);
      9. }
      10. ...
      Alles anzeigen
      Der Client sendet die Nachricht aber beim Server kommt sie nicht an bzw. kommt irgendein kommischer
      Wert wie -52 oder so.

      Hoffentlich könnt ihr mir helfen :)
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Zum Servercode: Du definierst das Array buffer, liest in das Array buf und willst die Daten von buferf wieder holen? Huh?

      recv() liefert die Anzahl der gelesenen Bytes. Wenn 5 Bytes gelesen wurden, befinden diese sich nun in buf[0], buf[1], buf[2], buf[3] und buf[4]. Du greifst aber mit buf[rc], da ja 5 Bytes gelesen wurden, auf buf[5] zu - Array wurde in einer Funktion definiert -> 5 hat noch keinen Wert -> Zufallswert.

      Ist meine Theorie richtig? :)