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.
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 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 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, 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.
Depois de fazer alterações na
DebugNetworkPortList no MicrosoftGame.config, além de reimplantar seu título, você deve executar xbapp applyconfig para que as alterações entrem em vigor.