send-socket zu schnell?



  • int handling (int sock)
    
    {
    
     	char buffer[BUFFER_SIZE];
    
    	int bytes;
    
        	send (sock, send_, sizeof(send_), 0);
    	sleep(1);
    	send (sock, "GET /t.c HTTP/1.0\r\n\r\n", sizeof("GET /t.c HTTP/1.0\r\n\r\n"), 0);
    
    	return 0; 
    }
    

    Also folgendes Problem:
    Der erste send() wird ausgeführt, der zweite nicht. Wenn ich jedoch den ersten auskommentiere, so wird der zweite send() ausgeführt. (Checke das beim zu verbindenden Server in den access_logs die error_logs zeigen keine fehler an)

    Was mache ich falsch?
    Danke!



  • überprüf mal die Rückabewerte von den send-Aufrufen.



  • Der ReturnValue vom ersten send ist 1000
    Während der vom zweiten 22 ist.



  • sind die 1000 denn richtig?
    ist der Inhalt von der "send_"-Variable tatsächlich so groß?
    Die 22 beim 2. send scheint mir jedenfalls in Ordnung zu sein, damit scheint es also keine Probleme beim senden an sich zu geben.



  • dieses sleep() ist unnötig - wichtig ist wie schon gesagt der rückgabewert. wenn der richtige wert ( nähmlich die zu sendende menge an bytes ) erreicht wurde kannst du das nächste send() aufrufen.

    blan


Anmelden zum Antworten