Como recuperar mais de 65000 bytes no soquete C ++ usando recv ()
Estou desenvolvendo um aplicativo de servidor cliente (TCP) no Linux usando C ++. Quero enviar mais do que65,000
bytes ao mesmo tempo. No TCP, o tamanho máximo do pacote é65,535
apenas bytes.
Como posso enviar os bytes inteiros sem perda?
A seguir, meu código no lado do servido
//Receive the message from client socket
if((iByteCount = recv(GetSocketId(), buffer, MAXRECV, MSG_WAITALL)) > 0)
{
printf("\n Received bytes %d\n", iByteCount);
SetReceivedMessage(buffer);
return LS_RESULT_OK;
}
Se eu usarMSG_WAITALL
leva muito tempo para receber os bytes, então como posso definir o sinalizador para receber mais de 1 milhão de bytes por ve
Edit: O tamanho da MTU é de 1500 bytes, mas a limitação absoluta no tamanho do pacote TCP se 65.53