Implantação IIS & Apache
Se você optar por implantar sua aplicação como um módulo, há considerações especiais que devem ser levadas em conta. Independentemente do tipo do seu módulo — seja um módulo ISAPI ou um módulo Apache nativo — os mesmos passos devem ser seguidos.
Quando você implanta sua aplicação como um módulo, o uniGUI não ativará seu servidor HTTP interno. Todas as requisições web serão tratadas pelo servidor web externo (Apache, IIS ou qualquer outro servidor web compatível). Isso significa que o uniGUI não pode atender requisições WebSocket na mesma porta/endereço usado pelo servidor web externo. Há duas maneiras de contornar esse problema:
Atenda requisições WebSocket em uma porta e/ou endereço IP diferente
Execute um servidor HTTP separado para requisições WebSocket em uma porta de serviço auxiliar, em um endereço IP adicional ou em ambos. O uniGUI prefere esse método por várias razões:
Cada servidor web usa sua API específica de WebSockets. Não existe uma API padrão ou comum para todos os servidores web suportados.
No Microsoft IIS a API de WebSockets está disponível para aplicações .NET, mas para módulos ISAPI nativos não há uma API documentada pela Microsoft.
Alguns servidores web usam regras de reescrita e técnicas de proxy em vez de fornecer uma API de WebSockets.
APIs podem mudar entre edições ou versões do servidor web.
Considerando o exposto acima, a única maneira confiável de implementar WebSockets para um servidor web externo é usar um servidor HTTP separado para requisições WebSocket. Além disso, se seu servidor web específico preferir proxyar requisições WebSocket para outro servidor, é obrigatório implementar um servidor HTTP diferente para as requisições WebSocket.
Para detalhes, veja: Vinculação a uma Porta ou Endereço IP Diferente.