> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Comportamento de portas do console XBOX

> Comportamento de portas do console XBOX

Este tópico descreve os comportamentos de portas do console XBOX.

## Regras de portas

* Todas as portas do console XBOX às quais o título pode se associar, com exceção da porta multijogador UDP (User Datagram Protocol) local preferencial, têm o mesmo comportamento, que corresponde ao comportamento do PC com o firewall padrão.  Essas portas permitem todo o tráfego de saída TCP (Transmission Control Protocol) e UDP, enquanto bloqueiam pacotes UDP e TCP de entrada não solicitados.

* A porta multijogador UDP local preferencial se comporta da mesma forma que as outras portas, mas permite pacotes UDP de entrada não solicitados. O TCP não pode ser usado.

* Para comunicação ponto a ponto em títulos do Microsoft Game Development Kit (GDK), você deve usar UDP na porta multijogador preferencial. Além disso, você deve realizar a perfuração de firewall e NAT.

**Dica**: o [PlayFab Party](https://docs.xbox.com/pt-BR/build/console-features/networking/game-mesh/playfab-party-intro-networking.md) fornece uma topologia de rede ponto a ponto que lida automaticamente com essa funcionalidade. Como alternativa, confira as RFCs de [STUN](https://tools.ietf.org/html/rfc5389) e [ICE](https://tools.ietf.org/html/rfc8445) como ponto de partida para sua própria implementação.

## Disponibilidade de portas/portas reservadas

O título pode usar qualquer porta disponível à qual possa se associar.

Se uma porta já estiver em uso, a função [bind](https://learn.microsoft.com/windows/desktop/api/winsock/nf-winsock-bind) retornará `E_ADDRINUSE`, assim como aconteceria em um PC.

Há várias portas que nunca estão disponíveis para o título. A [lista de portas reservadas](https://docs.xbox.com/pt-BR/build/console-features/networking/reserved-ports-networking.md) mostra o conjunto atual de portas reservadas pelo sistema.

Não há como os títulos do Microsoft Game Development Kit (GDK) reservarem portas com antecedência. É sempre possível que qualquer porta já esteja em uso no momento em que o título do Microsoft Game Development Kit (GDK) tentar se associar a ela. Uma lógica adequada de fallback e de nova tentativa é necessária para quando esses conflitos de porta ocorrerem.

A única exceção é a [porta multijogador UDP local preferencial](https://docs.xbox.com/pt-BR/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking.md), que é reservada para o título e tem disponibilidade sempre garantida.

## Portas de desenvolvimento

Durante o desenvolvimento, pode ser útil permitir pacotes TCP e UDP de entrada não solicitados para facilitar ferramentas e fluxos de depuração. As portas que o título do Microsoft Game Development Kit (GDK) pretende usar para essa finalidade devem ser especificadas no nó `DevelopmentOnly` do arquivo *MicrosoftGame.config*. Qualquer número de portas pode ser especificado. O uso da porta no título é o mesmo que o de qualquer outra porta. As portas de desenvolvimento só têm esse comportamento especial em kits de desenvolvimento e voltam ao comportamento padrão, bloqueando pacotes de entrada não solicitados, em consoles de varejo. O exemplo a seguir mostra como marcar as portas `4600` e `4601` como portas de desenvolvimento no *MicrosoftGame.config*.

```xml theme={null}

<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">

  ...

  <DevelopmentOnly>
    <DebugNetworkPortList>
      <DebugNetworkPort>4600</DebugNetworkPort>
      <DebugNetworkPort>4601</DebugNetworkPort>
    </DebugNetworkPortList>
  </DevelopmentOnly>
</Game>

```

> [!NOTE]
>
> Depois de fazer alterações na `DebugNetworkPortList` no *MicrosoftGame.config*, além de reimplantar seu título, você deve executar [xbapp applyconfig](https://docs.xbox.com/pt-BR/tools/tools-console/commandlinetools/xbapp.md#xbapp_applyconfig) para que as alterações entrem em vigor.

## Confira também

* [Portas reservadas e exceções de firewall do XBOX](https://docs.xbox.com/pt-BR/build/console-features/networking/reserved-ports-networking.md)

* [Comportamento de portas do PC](https://docs.xbox.com/pt-BR/build/console-features/networking/game-mesh/pc-port-behavior.md)

* [Windows Sockets 2 (Winsock)](https://learn.microsoft.com/windows/desktop/WinSock/windows-sockets-start-page-2)

* [Porta multijogador UDP preferencial](https://docs.xbox.com/pt-BR/build/console-features/networking/game-mesh/preferred-local-udp-multiplayer-port-networking.md)

* [PlayFab Party](https://docs.xbox.com/pt-BR/build/console-features/networking/game-mesh/playfab-party-intro-networking.md)


## Related topics

- [Visão geral do Windows Sockets](https://docs.xbox.com/pt-BR/build/console-features/networking/game-mesh/winsock-intro-networking.md)
- [Comportamento das portas no PC](https://docs.xbox.com/pt-BR/build/console-features/networking/game-mesh/pc-port-behavior.md)
- [Comunicação de malha de jogo: diferenças entre o GDK e o XDK](https://docs.xbox.com/pt-BR/build/console-features/networking/xdk-migration/xdk-migration-game-mesh-networking.md)
- [Rede de game mesh para títulos do XBOX](https://docs.xbox.com/pt-BR/build/console-features/networking/game-mesh/index.md)
- [Marcação de pacotes de QoS (qualidade de serviço) em consoles XBOX](https://docs.xbox.com/pt-BR/build/console-features/networking/qos-packet-tagging.md)
