Obligatorio 2 - Sockets UDP

Obligatorio 2 - Sockets UDP

de Pablo Xavier Carballo Soria -
Número de respuestas: 1

Buenas,


Investigando en Internet vimos que algunos recomiendan utilizar dos sockets UDP (uno para escuchar y otro para escribir) para tener una comunicación de dos vías, mientras que otros afirman que es suficiente con un socket solo. 


¿ Son válidas ambas opciones para esta tarea ?


Saludos.

En respuesta a Pablo Xavier Carballo Soria

Re: Obligatorio 2 - Sockets UDP

de Bruno Fabian Piaggio Klimas -
En principio, por como dice la letra, el programa servidor escucha en el puerto 54321.

Cuando reciba mensajes por ese puerto, a partir de cada mensaje recibido, vas a poder saber la dirección IP y el puerto del emisor (cliente) y hacer que el servidor le responda a esa dirección y puerto, o en otro caso enviar a la dirección de broadcast (si es que querés enviar un mensaje a todos los clientes a la misma vez). Ejemplo en Java :

https://systembash.com/a-simple-java-udp-server-and-udp-client/ 

Si te fijás en ese ejemplo, vas a ver que al principio, el programa servidor crea un DatagramSocket definido con el puerto por el que quiere escuchar.

 Acordate que levantar varios puertos implica pedir mas recursos al sistema, aunque si usas un solo puerto de recepción en el servidor, probablemente tengas que encargarte de como compartirlo entre varios threads.

Espero te aclare algo, cualquiero cosa preguntá devuelta.