movil fortnite iphone bluetooth wifi gamekit

iphone - movil - fortnite mobile android



GameKit: ¿Cuál es el tipo de conexión al usar GKSession sin GKPeerPickerController: Resuelto (1)

¿Sabes si GKPeerPicker se comporta de manera similar? Me refiero a si la selección de modo NEAR le permite conectarse a través de wifi / bluetooth?

Sospecho que el modo INTERNET es para conectarse a servidores remotos usando TCP / IP. Saludos

Estoy implementando un programa de chat basado en BlueTooth y BlueTooth para iPhone . Para fines de conexión, estoy usando GameKit . Pero debido a alguna aplicación de requisitos especiales, no puedo usar el GKPeerPickerController predeterminado. Entonces, en su lugar, creé un combo GKSession y GKSessionDelegate para detectar a los pares. Después de que se encuentren, pueden chatear.

Ahora he probado la funcionalidad de chat en tres mac-minis usando un simulator , un simulador y un iPod , un iPhone y un Simulator . Puedo chatear en todos los escenarios anteriores. Pero de alguna forma el iPhone y el iPod no se detectarán entre sí.

También tengo curiosidad sobre el tipo de conexión que está sucediendo entre todos estos dispositivos. Porque, teóricamente, GameKit admite ambos, BlueTooth y WiFi . Ahora el problema es que GKPeerPickerController elige uno entre BlueTooth y WiFi (desafortunadamente, la implementación de WiFi no está documentada en ningún lado). Está bien, pero ¿qué pasa con el escenario personalizado cuando uno implementa su propio GKSession y GKSessionDelegate Combo? Cuando uno crea Objeto GKSession utilizando el único método init disponible:

– initWithSessionID:displayName:sessionMode:

La única opción de configuración que esto proporciona es sessionMode pero solo tiene tres opciones

GKSessionModeServer, GKSessionModeClient, GKSessionModePeer,

Ninguno de los cuales indica elección de conexión entre Bluetooth y WiFi .

Pero he desactivado bluetooth en el iPod y lo he probado con un mac-mini , así que creo que esto es usando WiFi . También en el registro obtengo la siguiente línea:

DNSServiceRegister callback: Ref=4c3f3d0, Flags=2, ErrorType=0 name=00XGT0H0A..BTChat1 regtype=_0eilkgh5o2mq17._udp. domain=local.

La parte DNSServiceRegister y udp me hace pensar que la comunicación está pasando por TCP/IP .

Entonces, esto significa que cuando empiezo con GKSession y GKSessionDelegate el método de comunicación predeterminado es solo WiFi, o admite WiFi y bluetooth ambos al mismo tiempo (aunque nunca recibí una sola indicación de que la conexión BlueTooth estuviera sucediendo).

Pero se supone que GameKit se debe principalmente a BlueTooth ¿ BlueTooth ? ¿Alguien puede aclarar la situación sobre qué está pasando exactamente?

¿También ha visto algún código de muestra donde alguien haya implementado la interfaz WiFi para GKPeerPickerController ?

Actualizar:

OK Lo encontré yo mismo. GKSession implementaciones personalizadas de GKSession y GKSessionDelegate , como mencioné en la pregunta, funcionan tanto para bluetooth como para WiFi . En realidad, el iPhone (JailBroked) que estoy usando tenía algunos problemas con BlueTooth y posiblemente eso estaba impidiendo que Gamekit funcionara correctamente. Después de reiniciar el teléfono y apagar el modo Airplane , el bluetooth encendido varias veces hizo que el bluetooth funcionara en el teléfono. Ahora la aplicación funciona bien tanto en modo WiFi como en modo BlueTooth .