Acerca del problema de programación del socket, solicitud 100% urgente
1. En primer lugar, si se envía una gran cantidad de paquetes juntos, no hay necesidad de preocuparse por este problema. En este momento, el cliente cerrará el enlace. Se enviará un mensaje para indicar que el envío se ha completado. En este momento, el servidor recibirá automáticamente el mensaje FIN para saber que el cliente ha completado el envío del paquete. Todas estas operaciones se completan en el nivel de API del socket y no es necesario enviar un indicador EOF adicional.
2. El paquete del cliente es más grande que el búfer del servidor. Esto no es algo de lo que deba preocuparse. El nivel API manejará automáticamente la situación del búfer entre el cliente y el servidor. Si se envía un paquete de 1000B y el buffer del área de servicio es de 250B, cuando el servidor recibe 250B y el buffer está lleno, notificará al cliente que espere antes de enviar los segundos 250B (sólo por ejemplo, aquí hay un concepto de ventana deslizante que es más complicado. ), por lo que cuando el cliente reciba la notificación de espera, reenviará el segundo 250B cada pocos milisegundos y repetirá de esta manera hasta que el servidor reciba todos los paquetes.
Por lo tanto, no es necesario considerar los dos problemas anteriores durante la programación, pero los programadores deben comprender los principios internos. Además, creo que el tiempo que le toma al servidor registrar todos los paquetes en la pregunta es el momento en que el cliente y el servidor están desconectados.