Operator sorrendre ugyelj. Itt egy lista pl: http://www.difranco.net/cop2220/op-prec.htm
while(a = recv(h_sock, buf+bufindex, sizeof(buf)-bufindex, 0) != 0)
Eloszor a jobb oldal (!= ket oldala) ertekelodik ki, ami 1, ha volt adat.
Helyesen: while((a = recv(h_sock, buf+bufindex, sizeof(buf)-bufindex, 0)) != 0)
Persze ezen nem valtoztat hogy tobb visszateresi ertekre kellene ugyelned.