Setear el puerto de origen en conexiones UDP
Submitted by flarramendi on 16 June, 2010 - 20:55
Printer-friendly version
Send to friend
Hola,
Alguien sabe como setear el puerto de origen en una conexion UDP ? Puedo enviar un paquete UDP a una direccion:puerto destino sin ningun problema, pero el puerto de origen me lo setea al aleatoriamente. Me gustaria que indicará el puerto por el que despues quiero recibir los datos de respuesta.
Saludos

RE: Setear el puerto de origen en conexiones UDP
Hola, creo que estás mezclando los conceptos. El protocolo UDP no está orientado a conexiones, por lo que no es válido decir conexión UDP. Este protocolo es de bajo nivel y sirve para enviar pequeños paquetes y además no tiene ningún tipo de control, por lo que no se asegura que el mensaje llegue a destino, ni tampoco que si llegan lo hagan en el mismo orden en que se enviaron. Cuando creas un socket UDP para enviar información, el puerto que utiliza es el primero disponible y va cambiando a medida que se liberan los recursos. Se puede fijar un puerto al socket haciendo BIND al valor deseado, pero solo tiene sentido si estás creando un servidor. Si haces BIND en cada envío de datos, vas a encontrarte con que el puerto que quieres usar ya está en uso por otro socket, a menos que configures la opción SO_REUSEADDRESS.
Espero te sea útil.
Saludos
@Eledu62 Como harias para
@Eledu62
Como harias para contestar un mensaje UDP a quien te lo envio?
Es decir, al server le llegan bien los paquetes UDP por tener este una direccion ip publica, pero en el sentido opuesto, el celular es inaccesible por UDP porq su ip es privada.
Esto es asi, o estoy confundiendo algun concpeto? Habria que usar TCP u otro mecanismo para conseguir la comunicacion bidireccional?
Mucha gracias!
Juanjo