Pergunta

Ao enviar dados usando UDP, é necessária uma porta de destino para ser especificada.

Se enviar pelo TCP, uma porta de origem também deve ser especificada.

Existem portas diferentes para entrada e saída? Por exemplo, se eu especificar a porta 1234, posso usá -la para entrada e saída ou devo usar portas diferentes para saída e entrada?

EDIT: Para esclarecer minha pergunta: - Enviei dados da porta X. - Alguém envia dados para mim para a porta X. Essas duas portas diferentes ou são as mesmas usadas?

Foi útil?

Solução

Ao enviar dados usando UDP, é necessária uma porta de destino para ser especificada.

Correto.

Se enviar pelo TCP, uma porta de origem também deve ser especificada.

Incorreta. O sistema alocará um para você automaticamente, se não for especificado. Este é o uso normal.

Existem portas diferentes para entrada e saída?

Não. A porta local a que você está vinculada é usada para ambos.

E tudo isso se aplica ao UDP e ao TCP.

Outras dicas

A porta de origem é uma porta que existe apenas no computador que está iniciando a conexão, enquanto a porta de destino existe apenas no computador que o está recebendo (embora ambos sejam visíveis para ambos os pontos de extremidade). TCP e UDP têm portas de origem e destino. Normalmente, a porta de origem é selecionada automaticamente pela biblioteca de soquete das portas não utilizadas no computador. Existem muito poucas boas razões para selecionar uma porta de origem específica e geralmente será alterada pelo Internet Gateway (roteador) como parte do processo de tradução de endereço de rede (NAT).

EDIT: Para esclarecer, as portas de origem e de destino são usadas para entrada e saída. Qual porta está no seu computador depende de qual extremidade da conexão TCP você está. Se você estiver no final do recebimento, a porta de destino estará no seu computador. Quando você está olhando para a conexão de sua Perspectiva, será a porta de origem e será usada para entrada e saída. O mesmo princípio também se aplica ao UDP, exceto que não há "conexões" em si, apenas uma troca de dados brutos entre as portas.

O TCP precisa de uma fonte e uma porta de destino porque forma um conexão entre os dois clientes, enquanto o UDP é sem conexão; Você simplesmente envia dados para uma porta de destino e chega ou não.

Então, com o TCP, você abre um "canal" entre dois computadores. Você envia dados por meio e, possivelmente, recebe alguns de volta.

Com UDP, se você quiser receber Dados, então sim, você precisa de uma porta "separada" que escuta os dados recebidos.

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