Reglas de puertos
- Todos los puertos de las consolas XBOX a los que el título puede enlazarse, a excepción del puerto multijugador local preferido de User Datagram Protocol (UDP), tienen el mismo comportamiento que coincide con el comportamiento de PC con el firewall predeterminado. Estos puertos permiten todo el tráfico saliente de Transmission Control Protocol (TCP) y UDP, mientras bloquean los paquetes UDP y TCP entrantes no solicitados.
- El puerto multijugador UDP local preferido se comporta de la misma manera que los demás puertos, pero permite paquetes UDP entrantes no solicitados. No se puede usar TCP.
- Para las conexiones de punto a punto en títulos de Microsoft Game Development Kit (GDK), debes usar UDP en el puerto multijugador preferido. Además, debes realizar la perforación de firewall y NAT.
Disponibilidad de puertos y puertos reservados
El título puede usar cualquier puerto disponible al que pueda enlazarse. Si un puerto ya está en uso, la función bind devuelveE_ADDRINUSE, igual que lo haría en un PC.
Hay una serie de puertos que nunca están disponibles para el título. La lista de puertos reservados muestra el conjunto actual de puertos reservados por el sistema.
No hay ninguna manera de que los títulos de Microsoft Game Development Kit (GDK) reserven puertos con antelación. Siempre es posible que cualquier puerto ya esté en uso en el momento en que el título de Microsoft Game Development Kit (GDK) intente enlazarse a él. Es necesaria una lógica de reserva y reintento adecuada para cuando se produzcan estos conflictos de puertos.
La única excepción a esto es el puerto multijugador UDP local preferido, que está reservado para el título y siempre se garantiza que esté disponible.
Puertos de desarrollo
Durante el desarrollo, puede ser útil permitir paquetes TCP y UDP entrantes no solicitados para facilitar las herramientas y los flujos de depuración. Los puertos que el título de Microsoft Game Development Kit (GDK) tenga previsto usar con este fin deben especificarse en el nodoDevelopmentOnly del archivo MicrosoftGame.config. Se puede especificar cualquier número de puertos. El uso del puerto dentro del título es igual que el de cualquier otro puerto. Los puertos de desarrollo solo tienen este comportamiento especial en los kits de desarrollo y vuelven al comportamiento predeterminado, bloqueando los paquetes entrantes no solicitados, en las consolas comerciales. En el ejemplo siguiente se muestra cómo marcar los puertos 4600 y 4601 como puertos de desarrollo en MicrosoftGame.config.
Después de realizar cambios en la
DebugNetworkPortList de MicrosoftGame.config, además de volver a implementar el título, debes ejecutar xbapp applyconfig para que los cambios surtan efecto.