recv haengt?
-
hallo, verwende tcp
ja das keine daten kommen - davon gehe ich wohl auch aus... aber wieso?
es muessen daten kommen - ich schick vorher mist hin und der apache sollte drauf antworten, oder? mind. ein "unknown command" oderso sollte zurueck kommen, das funzt ja auch wenn ich per telnet drauf connecte...
-
Mit wem Kommunizierst Du denn? Mit einem Web-Server? Warum sollte er Dir antworten, wenn Du noch keine gültige Anfrage geschickt hast (also ein alleinstehendes NewLine)?
-
kann ja einstellen auf welchen port/host er connecten soll
wenn ich sendto() verwende, sollte so etwas zurueck kommen:
slackware@darkstar:~$ telnet 192.168.1.1 80 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. SEND NICK <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>400 Bad Request</title> </head><body> <h1>Bad Request</h1> <p>Your browser sent a request that this server could not understand.<br /> </p> </body></html> Connection closed by foreign host.
-
hab jetzt ein \n hingeschickt und tatsache, endlich krieg ich antwort vom apache.
danke, denke jetzt komme ich wieder etwas weiter.
-
Du solltest Dir mal dir RFC für HTTP durchlesen...
http://www.w3.org/Protocols/rfc2616/rfc2616.htmlPS: Wenn man irgendwelche Daten an einen Server schickt, heisst es noch lange nicht, dass er auch was zurückschickt... das hänght immerhin noch vom verwendeten Protokoll ab...
-
Seit wann hat HTTP ein "NICK" Kommando?

Und sendto verwendet man für UDP und nicht für TCP.
-
http hat kein nick command, das hab ich zum testen verwendet
und was verwende ich dann bei tcp?
bitte kein flamen, danke - oder was findest du daran so lustig?
-
send(...)
-
Irgendwie bist du ein Frickler.
-
danke fire
was ist ein frickler??
lg
oli
-
tcp != http
du bist ein frickler, weil du ziellost rumprobierst. nimm dir ein tutorial (beej's networking guide).
-
jo ich probier wild umher bevor ich poste... in der stillen hoffnung auf erfolg.
hab bereits einiges gelesen ueber socket programming, und ich weiss auch das tcp nix mit http zu tun hat - trotzdem sind beides protokolle.
das einzigste was ich wissen wollte ist wie ich was empfange (jetzt weiss ich ja das nichts angekommen is weil das \n gefehlt hat).
und wie ich oben schon geschrieben hab, komme ich frisch von linux - da gibts eine funktion die nennt sich write(), da braucht man kein \n mitgeben; deswegen hab ich mir da auch keinen kopf drueber gemacht.
trotzdem danke fuer die hilfelg
oli
-
da gibts eine funktion die nennt sich write(), da braucht man kein \n mitgeben;
So ein Quatsch.
-
hm? was meinste mit "quatsch" ? das es die funktion nicht gibt? das man kein \n mitgeben muss?
NAME
write - write to a file descriptorSYNOPSIS
#include <unistd.h>ssize_t write(int fd, const void *buf, size_t count);
DESCRIPTION
write writes up to count bytes to the file referenced by the file
descriptor fd from the buffer starting at buf. POSIX requires that a
read() which can be proved to occur after a write() has returned
returns the new data. Note that not all file systems are POSIX con-
forming.ist doch auch egal jetzt, mir wurde geholfen und gut.
lg
oli
-
Natürlich muss man auch bei write \r\n angeben.