Comunicação remota .NET - HttpChannel vs TcpChannel
-
22-09-2019 - |
Pergunta
Sou novo no .NET Remoting e não estou muito familiarizado com os diferentes canais de comunicação que podem ser usados.Eu sei que existem HttpChannel e TcpChannel prontos para uso.Entendo que um é Http enquanto o outro é Tcp, mas não entendo por que o Tcp é mais rápido.
Solução
A razão pela qual o TCP é mais rápido é que ele usa binário como meio de transmissão de dados através da rede. Com o TcpChannel, você pode usar qualquer número de porta acima de 1024 (as primeiras 1024 portas são reservadas).Enquanto com HttpChannel ele usa a porta 80, a porta padrão que é compartilhada com seu navegador da web, o HttpChannel é usado se você quiser torná-lo flexível com outros serviços.Além disso, os dados transmitidos pelo HttpChannel são codificados em texto, o que os torna mais lentos. Por exemplo, se você recuperasse uma imagem, essa imagem teria que ser codificada primeiro no formato de dados Base64 e transferida.
Geralmente, se você quer velocidade, vá para TcpChannel, se quiser flexibilidade, vá para HttpChannel.
Espero que isso ajude, cumprimentos, Tom.
Outras dicas
O canal HTTP precisa criar um enorme cabeçalho (relativamente falando) de respostas complexas. O canal TCP no uso de um protocolo binário eficiente com muito menos sobrecarga por solicitação.
O TCP é um pouco mais rápido que o HTTP; Os padrões de HTTP para usar o formato de sabão mais lento e os padrões de TCP para usar o formatador binário mais rápido; HTTP suporta o formatador binário mais rápido - você só precisa selecioná -lo
O TCP é mais rápido porque é um protocolo mais rápido.
O TCP é um protocolo de nível mais baixo que pode estabelecer uma conexão confiável segura. O HTTP é mais fácil de usar, pois você pode enviá -lo para um servidor da Web a partir do seu navegador.