2010-11-09 10 views
17

¿Alguien tiene buenos tutoriales sobre el envío de paquetes UDP desde el iPhone SDK?Envío de paquetes UDP desde el iPhone

EDIT:

fue realmente fácil de hacerlo ...

RTFM!

Después de incluir AsyncUdpSocket sólo tiene que añadir esto en la cabecera:

AsyncUdpSocket *socket; 

Y en principal:

NSData *data = ... 
[socket sendData:data toHost:@"192.168.x.x" port:5002 withTimeout:-1 tag:1]; 

Cuando las pruebas no se olvide de permitir la comunicación UDP en el servidor de seguridad del servidor!

+0

Un poco de historia ... en una etapa estaba la absolutamente INCREÍBLE biblioteca AsyncSocket, creada originalmente por el misterioso Dustin J. Voss. (a veces conocido como CocoaAsyncSocket). En un momento llegó con un sencillo código de ejemplo UDP y fue fundamental para el desarrollo de iOS. Probablemente sigue siendo valioso si puedes desenterrarlo. Fue una biblioteca increíble. – Fattie

+0

cómo gestionar si la dirección IP varía – remyr3my

+0

@ Cyph3r Necesitará utilizar alguna lógica personalizada para establecer una variable 'NSString', que puede pasar en el parámetro' toHost'. O, alternativamente, use un dominio y configure un registro DNS en lugar de usar la dirección IP y actualícela cuando sea necesario. Depende completamente de lo que estás tratando de hacer. –

Respuesta

15

CocoaAsyncSocket es una buena biblioteca que contiene una clase llamada AsyncUdpSocket que es un contenedor Obj-C alrededor de la API de socket de nivel inferior.

+0

¡Te daré la respuesta correcta ya que me tienes en el camino! Para cualquiera que lea esta pregunta con el mismo problema, publiqué un código como edición en la pregunta. –

+0

El enlace ya no funciona :-( – Xander

+0

Enlace actualizado a lo que parece ser su nuevo hogar en github: https://github.com/robbiehanson/CocoaAsyncSocket –

2

Puede usar el marco CFNetwork para crear un socket UDP con CFSocket. Aquí está el CFSocket reference.

+0

Entonces, para enviar un paquete UDP a mi servidor, ¿solo uso CFSocketSendData? –

+0

Sí, después de CFSocketCreate con IPPROTO_UDP, puede usar CFSocketSendData. La lista de distribución de Mac Network Programming es un buen lugar para encontrar ejemplos: http://lists.apple.com/archives/macnetworkprog/ – Donald

+0

¡AsyncUdpSocket fue mucho más simple! :) –

Cuestiones relacionadas