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.

Foi útil?

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

Fonte: Fatoids sobre canais remotos HTTP e TCP

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top