Advertisement
Guest User

Untitled

a guest
May 10th, 2018
2,175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1.  
  2. From: Igor Luiz Oliveira de Souza <igorluizosouza@gmail.com>
  3. Sent: Friday, May 4, 2018 9:23:10 PM
  4. To: Rluca.7x@hotmail.com; AManda Amorim; Veras; pk.katon@gmail.com; Vinicius Silva Cordeiro; uilianesilva@yahoo.com.br; Daan Lacerdaa; Moisés Araújo; GUSTAVOANJOS13@hotmail.com; clecio-sf@hotmail.com
  5. Subject: Exercício REDES 1 - Programação em SOCKET
  6.  
  7. Pessoal,
  8.  
  9. Seguem abaixo os exemplos dos códigos de um servidor e um cliente em PERL.
  10. Com base nesses códigos, vocês devem modifica-los de forma a construir um serviço similar ao DNS, bem simplificado.
  11. O servidor deve possuir um arquivo contendo nomes e ip's, que o será consultado para responder às solicitações do cliente, que deve enviar apenas o nome:
  12.  
  13. ===============================================================
  14. ARQUIVO DE NOMES-IPS
  15. -----
  16. www.meusite.com.br 10.0.0.1
  17. www.site2.com.br 10.0.0.67
  18. portal.site5.com.br 192.168.76.5
  19. -----
  20. ===============================================================
  21.  
  22.  
  23. ===============================================================
  24. SERVER.PL
  25. -------------------
  26. use IO::Socket;
  27. $| = 1;
  28. $socket = new IO::Socket::INET (
  29. LocalHost => '172.16.1.218',
  30. LocalPort => '5000',
  31. Proto => 'tcp',
  32. Listen => 5,
  33. Reuse => 1
  34. );
  35. die "Coudn't open socket" unless $socket;
  36. print "\nTCPServer Waiting for client on port 5000";
  37.  
  38. while(1)
  39. {
  40. $client_socket = "";
  41. $client_socket = $socket->accept();
  42. $peer_address = $client_socket->peerhost();
  43. $peer_port = $client_socket->peerport();
  44.  
  45. #print "\n I got a connection from ( $peer_address , $peer_port ) ";
  46. while (1){
  47. $send_data = <STDIN>;
  48. $client_socket->send($send_data);
  49. $client_socket->recv($recieved_data,10);
  50. print $recieved_data;#."\n";
  51. #$client_socket->autoflush();
  52. }
  53. }
  54. ===============================================================
  55.  
  56.  
  57. ===============================================================
  58. CLIENT.PL
  59. ----------------
  60. use IO::Socket;
  61.  
  62. $socket = new IO::Socket::INET (
  63. PeerAddr => '172.16.1.224',
  64. PeerPort => 5000,
  65. Proto => 'tcp',
  66. )
  67. or die "Couldn't connect to Server\n";
  68.  
  69. while (1) {
  70. $socket->recv($recv_data,10);
  71. print $recv_data."\n";
  72. $send_data = <STDIN>;
  73. $socket->send($send_data);
  74. }
  75. ===============================================================
  76.  
  77. --
  78. Igor Luiz
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement