[Frage] Eigener Webserver für die FB sendet nicht nach draußen

tobilobischrobi

Neuer User
Mitglied seit
28 Apr 2012
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich bin gerade dabei einen kleinen Webserver für die FB zu schreiben. Unter Ubuntu läuft alles wunderbar. Auf der Fritzbox habe ich das Problem, dass die HTTP Requests zwar beim Server ankommen, die Antwort aber nicht nach draußen geht. Sprich: Der Browser erhält nur eine leere Antwort.

Hier der Code des Servers:
Code:
int main(int argc, char *argv[])
{
  int sock;
  struct sockaddr_in sin;
  char buf[4096];
  int port = atoi(argv[1]);

  sock = socket(AF_INET, SOCK_STREAM, 0);
  sin.sin_family = AF_INET;
  sin.sin_addr.s_addr = INADDR_ANY;
  sin.sin_port = htons(port);
  bind(sock, (struct sockaddr *) &sin, sizeof(sin));

  listen(sock, 5);
  printf("HTTP server listening on port %d\n", port);

  while (1)
  {
    int s;
    FILE *f;

    s = accept(sock, NULL, NULL);
    if (s < 0) break;

    f = fdopen(s, "a+");
    fgets(buf, sizeof(buf), f); // erste Zeile des Requests lesen
    printf(buf);
    fseek(f, 0, SEEK_CUR);

    fprintf(f, "Test"); // Antwort senden

    fclose(f);
  }

  close(sock);

  return 0;
}

Ich habe den Server auf Port 85 eingestellt. Ich greife dann über die interne IP vom Notebook aus auf den Server zu (192.168.178.10:85).
Es handelt sich um eine FritzBox 7050 mit der Firmware 14.04.33 und freetz-1.1.5.
Hat jemand eine Idee mit was das zusammenhängen könnte?

Danke
Tobias
 
Zuletzt bearbeitet:
Auf der Fritzbox habe ich das Problem, dass die HTTP Requests zwar beim Server ankommen, die Antwort aber nicht nach draußen geht. Sprich: Der Browser erhält nur eine leere Antwort.

Hier der Code des Servers:
Code:
...
    fgets(buf, sizeof(buf), f);  // erste Zeile des Requests lesen
  ...
Bei mir funktioniert es _auch_ auf der FritzBox mit einer Ausgabe im Browser, wenn ich diese Zeile:
Code:
 fgets(buf, sizeof(buf), f);
aus deinem source code, kommentiere:
Code:
 /* fgets(buf, sizeof(buf), f);  */

Code:
root@fritz:/var/media/ftp/uStor01/archiv# ./exhttps 2345
HTTP server listening on port 2345
 
Kostenlos!

Statistik des Forums

Themen
248,529
Beiträge
2,293,634
Mitglieder
378,033
Neuestes Mitglied
ottawabow