No hay respuesta fácil para esta pregunta. Hay algunas formas de atacar el problema, cada una con sus propias desventajas.
- Cree un script PHP de fondo que reciba un mensaje a través de POST y lo guarde en una base de datos o archivo de texto. Cree un front-end con HTML / JavaScript / Ajax que sondee continuamente el back-end para obtener los mensajes más recientes. Este método será lento e intensivo en ancho de banda (tanto para el servidor como para el cliente). No recomiendo este método
- Similar al método 1, excepto que use sondeo largo en lugar de sondeo corto. Con el sondeo largo, el cliente se conecta al servidor, pero el servidor espera para enviar una respuesta hasta que detecta un nuevo mensaje. Esto se llama una aplicación Comet. Desafortunadamente, esto es difícil de configurar y disminuye rápidamente la cantidad de hilos disponibles para el servidor web, limitando severamente la cantidad de usuarios de chat simultáneos que puede atender.
- Pague un servicio como WebSync para enviar solicitudes a su sitio.
- Elimine el requisito de usar PHP e instale node.js en su servidor. Use el nodo para enviar mensajes de chat a sus clientes. Una alternativa al nodo en el lado .NET de las cosas sería ASP.NET SignalR.