Crie um cliente e servidor Websocket robusto, escalonável e em tempo real

HTTP é um dos, senão o mais amplamente utilizado, protocolos cliente-servidor. Ele tem servido nossas páginas da Web, blogs e até mesmo este site favoritos por muitos anos ao longo de sua vida, carregado nos ombros do confiável TCP. Mas a tecnologia está evoluindo e, com o tempo, tornou-se claro que existem algumas limitações no HTTP. A primeira coisa é que o HTTP é unidirecional. Com HTTP, o cliente inicia a solicitação primeiro e o servidor responde. Portanto, para cada recurso, o cliente é quem pesquisa o recurso. Somado a isso, o HTTP espera que cada interação tenha um tempo limite antes que seja assumido que o servidor não está respondendo.

Quais são as soluções para as limitações de HTTP?

A long-polling serve como uma solução para as limitações da tecnologia baseada em HTTP. Nesse caso, o cliente envia a solicitação com um longo tempo limite. Isso permite que o servidor tenha muito tempo para responder sem que a conexão expire devido à inatividade ou incapacidade de responder. Esta foi uma solução até certo nível, mas é uma grande monopolização de recursos. É porque os recursos do servidor são reservados e dedicados ao cliente durante a longa votação.

Websockets são a melhor solução para limitações de HTTP?

Sim, Websockets são uma solução melhor para ajudar a mitigar algumas das limitações de tempo limite de HTTP. Websockets pode usar HTTP para inicializar a conexão e, usando a mesma conexão TCP, atualizar para um websocket. Com o Websockets, temos uma conexão bidirecional persistente que consome menos recursos do que as pesquisas longas. Tanto o servidor quanto o cliente podem enviar mensagens a qualquer momento. Hoje, a maioria dos navegadores da web oferece suporte ao protocolo Websocket. Além disso, a quinta versão do HTML (HTML5) inclui suporte para websockets. Portanto, em geral, o Websockets permite que você crie aplicativos cliente-servidor em tempo real.

Como faço para implementar aplicativos de websocket com Delphi ou C ++ builder?

IPWorks possui uma solução completa para implementação de servidor e cliente Websocket. Possui os seguintes componentes:

TipeCertMgr: Este componente é usado para armazenar certificados.

TipeWebSocketServer: Este é o componente do servidor que aceita solicitações de clientes de websocket.

TipeWebSocketClient: Este é o componente cliente que pode se conectar a um servidor websocket e enviar ou receber dados.

TipeWebSocketProxy: Este componente aceitará conexões Websocket para um servidor websocket e, em vez disso, redirecionará para outro servidor.

Usando esses componentes, você pode desenvolver um aplicativo completo para cliente e servidor Websocket. Esses componentes são nativos e não precisam de nenhuma biblioteca externa. Além disso, os componentes são otimizados e funcionam de forma eficiente. É muito seguro com a criptografia WebSocket Secure de 256 bits. Esses componentes são seguros para threads. Como um bônus adicional, eles também têm uma boa documentação para começar:

https://cdn.nsoftware.com/help/IWF/dlp/

Como faço para usar IPWorks WebSockets?

IPWorks fornece uma versão de teste gratuita de seu pacote de componentes WebSocket para Delphi e construtor C ++. Você pode avaliar esses componentes em seu aplicativo. Você pode adquirir os componentes deste link:

https://www.nsoftware.com/ipworks/ws/download.aspx

Você também pode usar o gerenciador de pacotes GetIt para pesquisar uma versão de avaliação do IPWorks:

https://getitnow.embarcadero.com

O instalador do componente IPWorks WebSockets vem com um aplicativo de demonstração que funciona imediatamente. Ele tem um pequeno servidor de eco Websocket e um aplicativo cliente para se conectar ao servidor websocket.

Aqui está um Delphi WebSocket Demonstração de servidor

Servidor IPWorks WebSockets

Aqui está um Delphi WebSocket Demonstração do cliente

Cliente IPWorks WebSockets

Como faço para criar um servidor WebSocket de demonstração no RAD Studio Delphi?

Para criar um servidor Websocket usando componentes IPWorks Websocket, basta arrastar e soltar um TipeWebSocketServer componente para um formulário. Você deve configurar parâmetros básicos como a porta a ser usada e se este é um servidor SSL ou não. Se for um servidor SSL, você deve adicionar um TipeCertMgr componente e atribuir os detalhes do certificado lá. Depois de definir todos os parâmetros obrigatórios, você pode definir “Ouvindo”Propriedade para true e iniciará o servidor e aceitará as solicitações do cliente por meio da porta. O componente de servidor possui muitos eventos que você pode manipular. Alguns deles são:

OnConnected: Aciona quando um novo cliente é conectado.

OnDataIn: Quando receber dados de um cliente

OnDisconnected: Aciona quando o cliente é desconectado.

OnError: Chamará com um ID de conexão, código de erro e uma descrição de erro para um erro.

Como faço para criar um cliente WebSocket de demonstração no RAD Studio Delphi?

Para criar um cliente Websocket, você pode usar o TipeWebSocketClient componente. Basta colocar o componente em um formulário, definir alguns parâmetros obrigatórios e você terá o cliente funcionando. Então você pode chamar o procedimento “Conectar (ws: // SERVIDOR: PORTA)”Para se conectar ao servidor. Assim que terminar o trabalho, você pode se desconectar do servidor chamando o procedimento “Desconectar”. O cliente também tem eventos semelhantes, como o servidor.

OnConnected: Dispara quando conectado ao servidor.

OnDataIn: Ao receber dados do servidor.

OnDisconnected: Desconectado do servidor.

OnError: Isso irá chamar com um código de erro e uma descrição do erro para um erro.

IPWorks WebSockets é uma das melhores soluções para o desenvolvimento de aplicativos de servidor de cliente Websocket robustos, avançados, mas amigáveis ao desenvolvedor.

perto

Reduza o tempo de desenvolvimento e chegue ao mercado mais rapidamente com RAD Studio, Delphi ou C ++ Builder.
Projeto. Código. Compilar. Implante.
Iniciar avaliação gratuita   Aprimore hoje

   Delphi Community Edition grátis   Edição gratuita da comunidade C ++ Builder