Hallo zusammen, mit lwIP 1.4.0 läuft bei mir bereits telnet und ICMP erfolgreich. Leider funktioniert http nicht, der server scheint keine Daten zu senden. Testaufbau: while(1) mit - netif->input bei empfangenen Paketen - tcp_tmr alle 250 ms - etharp-tmr alle 5 s - primitiver raw httpd nach dem Beispiel von www.sics.se/~adam/lwip/doc/lwip.pdf - Firefox 10 ohne Firewall Scheinbar läuft alles gut, bis ich mit tcp_write(pcb, indexdata, counter, 0 <oder 1, keine Besserung>) meine Daten gesendet habe. Die Daten werden wohl nie wirklich versendet. Hat jemand von euch eine Idee, was ich falsch mache? Danke Bernhard --> log > gebe die IP-Adresse des Servers in die Adresszeile ein tcp_input: packed for LISTENing connection. TCP connection request 50371 -> 80. tcp_parseopt: MSS tcp_parseopt: NOP tcp_parseopt: other tcp_parseopt: NOP tcp_parseopt: NOP tcp_parseopt: other +-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags ACK -+-+-+-+-+-+-+-+-+-+-+-+-+-+ State: SYN_RCVD > Aufruf http_accept() tcp_receive: window update 64240 tcp_receive: ACK for 6527, unacked->seqno 6526:6527 tcp_receive: removing 6526:6527 from pcb->unacked State: ESTABLISHED +-+-+-+-+-+-+-+-+-+-+-+-+-+- tcp_input: flags PSH ACK -+-+-+-+-+-+-+-+-+-+-+-+-+-+ State: ESTABLISHED > Aufruf http_recv() tcp_close: closing in State: ESTABLISHED CENC28J60::Output tcp_pcb_purge tcp_pcb_purge: not all data sent State: TIME_WAIT ... und ab dann immer nur tcp_slowtmr: no active pcbs
Hallo zusammen, mittlerweile ist das Problem gelöst. Lösung: die in den minimalistischen Beispielen verwendeten html-Seiten (als char-array im Code selbst sind veraltet. Viele Grüße Bernhard
Hallo Bernhard tcp_write() schreibt normal nur in einen Buffer, der dann mit tcp_tmr abgearbeitet wird. Mit tcp_output() kann man das Senden direkt erzwingen. Schöne Grüsse Sandro
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.