Всем привет. Пытаюсь разобраться с сокетами. Не пойму, что происходит с данными, которые при считывании из сокета не влезли в буффер. Они просто отбрасываются? Можно ли прочитать содержимое сокета за несколько заходов? Если нет, каким выставлять размер буффера, чтоб уж наверняка влезло все за одно считывание.Вот собственно код: while(1) { memset(msg,0x0,MAX_MSG); cliLen = sizeof(cliAddr); n = recvfrom(sd,msg,MAX_MSG,0,(struct sockaddr *) &cliAddr,&cliLen); if(n<0) { printf("%s: cannot receive data \n",argv[0]); continue; } printf("%s: from %s:UDP%u : %s \n", argv[0],inet_ntoa(cliAddr.sin_addr), ntohs(cliAddr.sin_port),msg); } Netcat-ом шлю этому серверу строку символов. Если она больше MAX_MSG, лишние данные просто отбрасываются.Можно ли их получить не увеличивая MAX_MSG Заранее спасибо
|