Red de conocimiento del abogados - Respuesta jurídica de la empresa - Problema con la función Send() de la clase CSocket: ¿Por qué solo se recibe una vez después de enviarlo varias veces seguidas?

Problema con la función Send() de la clase CSocket: ¿Por qué solo se recibe una vez después de enviarlo varias veces seguidas?

Es posible que el cartel no haya entendido que después de establecer cada socket, habrá un búfer de envío y un búfer de recepción. El valor predeterminado del sistema Windows es 8 KB. no se envía inmediatamente, solo copie los datos enviados al búfer de envío, y la capa inferior del sistema operativo implementa la función de envío y los envía al búfer de recepción del extremo receptor. Para reducir la carga de la red, los enlaces TCP generales utilizan el algoritmo nagle, lo que no significa que los datos se enviarán cuando haya datos en el búfer de envío.

Para el extremo receptor, recibir(char *buf, num) solo recupera datos del búfer de recepción y el valor devuelto es el tamaño de datos obtenido. Si envía varias veces, si la cantidad de datos no es grande y el valor de num excede el valor total enviado, los datos en el búfer de recepción se recuperarán de una sola vez.

No sé si esta explicación le queda clara al cartel.