Tengo una aplicación cliente-servidor donde el cliente está en un dispositivo con Windows Mobile 6, escrito en C++ y el servidor está en Windows completo y escrito en C#.Comunicación asincrónica multiservicio servidor-cliente en el mismo socket abierto?
Originalmente, solo lo necesitaba para enviar mensajes desde el cliente al servidor, y el servidor solo enviaba una confirmación de que había recibido el mensaje. Ahora, me gustaría actualizarlo para que el servidor pueda enviar un mensaje al cliente para solicitar datos. Como actualmente lo tengo configurado para que el cliente solo esté en modo de recepción después de que envíe datos al servidor, esto no permite que el servidor envíe una solicitud en ningún momento. Tendría que esperar los datos del cliente. Lo primero que pensé fue crear otro hilo en el cliente con un zócalo abierto separado, escuchando solicitudes de servidor ... al igual que el servidor ya lo hizo con respecto al cliente. ¿Hay alguna manera, dentro del mismo hilo y usando el mismo socket, para que todo el servidor envíe solicitudes en cualquier momento?
¿Se puede usar algo con el efecto de WaitForMultipleObjects()
y pasarle un búfer de recepción y un evento que indique que hay datos para enviar?