¿Cómo conectar varios compañeros en la aplicación de iPhone a través de Wi-Fi?

Tengo una idea para una aplicación ios (iPhone) a la que se requiere conectarse a varios compañeros. Estoy basando mi código en el ejemplo de WiTab (SampleCode-developer.apple.com).

Cuando mi aplicación inició cada par creando sockets separados (CFSocket) y publicando a través de NSNetService Class. En una class particular, la class NSNetServiceBrowser encuentra pares disponibles. Y muestra su nombre en TableView. Cuando selecciono una fila en la vista de tabla, se resolvió la dirección correspondiente del par, se estableció una connection y los datos de recepción de envío fueron satisfactorios.

Pero mi intención es, quiero seleccionar la fila múltiple en el tableView (par múltiple). y resolvió la dirección de los compañeros seleccionados. Para eso almacené información de pares seleccionados en el NSMutableArray. Cuando presiono (toque) el button enviar, quiero resolver la dirección del dispositivo seleccionado y enviar datos a los compañeros seleccionados. Por eso hice este código

for(int k=0;k<[selectedService count];k++) { self.currentResolve = [self.selectedService objectAtIndex:k]; self.currentResolve = [self.selectedSer objectAtIndex:k]; [self.currentResolve setDelegate:self]; [self.currentResolve resolveWithTimeout:60]; } 

Pero solo se resolverá un dispositivo (self.selectedService objectAtIndex: 0). Entonces, ¿cómo puedo resolver varios pares? Dirección / cómo establecer la connection para múltiples dispositivos. entonces mis dudas son:

  1. ¿Es posible conectar más de un dispositivo simultáneamente a través de Wi-Fi?
  2. En caso afirmativo, ¿cuál es el número máximo de dispositivos que se pueden conectar en el mismo patrón?
  3. ¿Qué tipo de CFSocket es útil para múltiples conexiones (TCP / UDP)?
  4. ¿Se requiere crear múltiples CFSocket en cada par?
  5. Si es así, ¿cómo? ¿Hay documentos disponibles?
  6. ¿Se requiere para la session establecida?
  7. ¿Cómo resolver la dirección del dispositivo mutple?

Es bastante difícil modificar la aplicación Apple.Developer Witap porque necesita contener todas las direcciones resueltas, tiene que modificar todos los methods y manejar mucho.

Creo que este tutorial logrará tu meta.

La aplicación se llama " Chatty ". Su código fuente se encuentra aquí.

Download the App --> Open --> Click-on Chatti project tab --> Build Settings --> Change the base SDK to iOS6

se está lanzando bajo la licencia MIT , lo que significa que usted es libre de modificarlo y reutilizarlo a voluntad

En este tutorial, explorarán una aplicación de chat simple para el iPhone. Le permite alojar su propia sala de chat y anunciarla en su networking Wi-Fi local (en cuyo caso su aplicación actúa como un "server" de chat) o search y join a salas de chat alojadas por otras personas en su networking (actuando como un chat "cliente"). Tanto el anuncio como el descubrimiento de las salas de chat se implementan utilizando el protocolo Bonjour de Apple al igual que la aplicación Witap

Ahora estoy respondiendo tus preguntas

¿Es posible conectar más de un dispositivo simultáneamente a través de Wi-Fi?

Sí tu puedes

En caso afirmativo, ¿cuál es el número máximo de dispositivos que se pueden conectar en el mismo patrón?

Creo que puedes emparejar con cualquier cantidad de dispositivos

¿Qué tipo de CFSocket es útil para múltiples conexiones (TCP / UDP)?

Mi sugerencia es TCP

Las respuestas restantes para sus preguntas se pueden comprender fácilmente desde la aplicación Chatty de ejemplo 🙂

Nota : el server y los clientes deben estar en la misma networking WiFi

Dependiendo de la naturaleza de su aplicación, puede utilizar GamKit Framework y proporcionará incluso más características que las que solicita. Estas son las precauciones a tomar.

  1. Centro de juegos

6.1 Las aplicaciones que muestren cualquier ID de jugador a los usuarios finales oa cualquier tercero serán rechazadas 6.2 Las aplicaciones que usen ID de jugadores para cualquier uso que no sea aprobado por los términos de Game Center serán rechazadas 6.3 Los desarrolladores que intentan revertir búsquedas, rastrear, relacionar, asociar, extraer, explotar o explotar las ID de jugador, alias u otra información obtenida a través del Game Center se eliminará del Progtwig de desarrollador de iOS 6.4 La información del Centro de juegos, como los puntajes de la tabla de posiciones, solo se puede usar en aplicaciones aprobadas para su uso con se rechazarán las aplicaciones Game Center 6.5 que utilizan el service Game Center para enviar posts no solicitados o con fines de phishing o spam. 6.6 Las aplicaciones que utilizan excesivamente la capacidad de la networking o el ancho de banda del Game Center serán rechazadas. 6.7 Aplicaciones que transmiten virus, files , código de computadora o progtwigs que puedan dañar o interrumpir el funcionamiento normal del service Game Center serán rechazados.