Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. import java.io.IOException;
  2. import java.net.*;
  3. import java.util.Scanner;
  4.  
  5. public class ClienteChatUDP
  6. {
  7. public static void main(String[] args)
  8. {
  9. try
  10. {
  11. /* Creo mi socket de datagramas UDP*/
  12. DatagramSocket socketServidor = new DatagramSocket(7000);
  13.  
  14. /* Numero de mensajes que ha recibido el servidor*/
  15. int numeroMensajes = 0;
  16.  
  17. /* Mensaje que recibimos del cliente */
  18. String mensajeEntrada = "";
  19.  
  20. // Mensaje que envío:
  21. String mensajeEnviado = "";
  22.  
  23. // Buffer de recepción:
  24. byte[] bufferEntrada;
  25.  
  26. System.out.println("Chat demigrante arrancao. Recibe en " + socketServidor.getLocalPort() + ". ");
  27.  
  28. Scanner keyboard = new Scanner(System.in);
  29. do
  30. {
  31.  
  32.  
  33. // Mensaje a enviar:
  34. System.out.print("Mensaje a enviar: ");
  35. mensajeEnviado = keyboard.nextLine();
  36.  
  37. // Convierto el mensaje a bytes:
  38. byte[] bufferSalida = mensajeEnviado.getBytes();
  39.  
  40. // Creo mi paquete a enviar:
  41. DatagramPacket datagramaSalida; // Datagrama a enviar.
  42. InetAddress ipDestino = InetAddress.getByAddress(new byte[]{62,83, 91, 120});
  43. int puerto = 8000; // Debe ser superior a 1023
  44. datagramaSalida = new DatagramPacket(bufferSalida, bufferSalida.length, ipDestino, puerto);
  45.  
  46. // Y lo envío:
  47. socketServidor.send(datagramaSalida);
  48. System.out.println("Envío: " + mensajeEnviado + " a " + datagramaSalida.getAddress() + " : " + datagramaSalida.getPort());
  49.  
  50.  
  51. // Preparo buffer de respuesta del servidor
  52. bufferEntrada = new byte[128];
  53.  
  54. // Recojo la respuesta del datagrama de entrada:
  55. DatagramPacket paqueteEntrada = new DatagramPacket(bufferEntrada, bufferEntrada.length);
  56. socketServidor.receive(paqueteEntrada);
  57.  
  58. // Leo el mensaje del servidor:
  59. mensajeEntrada = new String(paqueteEntrada.getData());
  60. System.out.println("Mensaje del otro tío " + mensajeEntrada);
  61.  
  62. }while (!mensajeEnviado.equals("@SALIR"));
  63.  
  64.  
  65. }
  66. catch (SocketException e)
  67. {
  68. e.printStackTrace();
  69. }
  70. catch (UnknownHostException e)
  71. {
  72. e.printStackTrace();
  73. }
  74. catch (IOException e)
  75. {
  76. e.printStackTrace();
  77. }
  78.  
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement