Red de conocimiento informático - Problemas con los teléfonos móviles - En la programación udp, ejecutar ReceiverFrom en el lado del servidor hará que parezca que el programa falla. ¿Cómo evitar esta situación?

En la programación udp, ejecutar ReceiverFrom en el lado del servidor hará que parezca que el programa falla. ¿Cómo evitar esta situación?

La cuestión es que, si no se reciben datos, esperará para siempre. Solución:

1. Utilice un socket asíncrono, es decir, la clase CAsyncSocket; asegúrese de utilizar el atributo FD_READ al crearlo

2. la función de devolución de llamada OnReceive, puede reescribir esta función, colocar su propia parte de recepción aquí y procesarla en consecuencia.

Debido a que esta función se volverá a llamar después de recibir los datos, debe haber datos para recibir cuando se usa RecibirDe, para que se devuelvan directamente, no necesito hablar sobre los parámetros específicos de. función.

Este es un mecanismo de transferencia asíncrono, por lo que no hay bloqueo.