Como saber o host do cliente em Bluetooth iPhone com GameKit
-
10-07-2019 - |
Pergunta
Eu fiz um jogo multiplayer usando o Framework GameKit onde 2 iPhones / iPods podem se conectar uns com os outros via bluetooth e jogo.
Estou pensando em uma maneira de escolher qual dispositivo será capaz de jogar primeiro. Então, a solução lógica é escolher o anfitrião da conexão. Existe até mesmo um servidor e um cliente na GKSession? todos eles são pares? Qual rota devo tomar para conseguir o que eu preciso?
Solução
Basicamente, é até você para configurar sua sessão como você gosta.
A partir da documentação Apple:
Sessões descobrir outros colegas na rede baseada em um modo de sessão que é definido quando a sessão é inicializado. Sua lata de aplicação configurar a sessão para ser um servidor, que anuncia um tipo de serviço no rede; um cliente, que procura publicidade servidores; ou de um par, que anuncia como um servidor e pesquisas como um cliente ao mesmo tempo.
Uma cópia do seu aplicativo age como um servidor inicializa a sessão chamada initWithSessionID: displayName: sessionMode: com um modo de sessão de qualquer GKSessionModeServer ou GKSessionModePeer. Depois de aplicação configura a sessão, anuncia o serviço, definindo o propriedade isAvailable da sessão para YES.
Uma cópia do seu aplicativo age como um cliente inicia a sessão chamada initWithSessionID: displayName: sessionMode: com um modo de sessão de qualquer GKSessionModeClient ou GKSessionModePeer. após a configuração a sessão, as pesquisas de aplicação a rede para servidores de publicidade, definindo isAvailable da sessão propriedade para YES. Se a sessão é configurada com o GKSessionModePeer modo de sessão também anuncia-se como um servidor, como descrito acima.
Portanto, se você usar GKSessionModePeer para inicializar a sessão, você tem pares (atuando tanto como servidor e cliente). Se você quiser distinguir um servidor de seus clientes, inicialize-o com GKSessionModeServer.
Atenciosamente.