#define DELIMITER '\n' pole request..., aktualni pozice konce requestu for(;;) { char buff[ 1000]; int response_size = recv( s, buff, sizeof( buff)-1, 0); if( response_size < 0) { printf( "error"); return } buff[ response_size] = 0; printf( "%s", buff); char* ptr = strchr( buff, DELIMITER); if( ptr) { // mame oddelovac - pripojime (ptr-buff) bytu z buff k requestu... (na aktualni pozici) zpracuj( request); request[ 0] = 0; // '\x0' nebo nulovat pozici... //zbytek buff ((response_size-(ptr-buff)) znaku) pripojime k requestu } else { //cely buff (response_size znaku) pripojime k requestu } }