La misma interfaz (DatagramSocket) empleada para recibir paquetes UDP también se utiliza para enviarlos. Cuando se envía un paquete, la aplicación debe crear un DatagramPacket, establecer la dirección y el puerto de la información, y escribir los datos destinados a la transmisión a su array de bytes. Si está respondiendo a un paquete recibido, la dirección y la información del puerto ya estará almacenada, y sólo los datosnecesitan ser sobrescritos. Una vez que el paquete está listo para la transmisión, el método de envío deDatagramSocket es invocado, y un paquete UDP se envía.
El siguiente fragmento de código ilustra este proceso:
| DatagramSocket socket = new DatagramSocket(2000); DatagramPacket packet = new DatagramPacket (new byte[256], 256); packet.setAddress ( InetAddress.getByName ( somehost ) ); packet.setPort ( 2000 ); boolean finished = false; while !finished ) { // Escribir datos en el buffer del paquete ......... socket.send (packet); / / Hacer otra cosa, como leer los paquetes, o revisar para / / ver si hay más paquetes a enviar ......... } socket.close(); |
No hay comentarios:
Publicar un comentario