Guest User

Untitled

a guest
Jun 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. my $sock;
  2.  
  3. do {
  4. eval {
  5. $sock = IO::Socket::INET->new(LocalPort => 9722, Proto => 'udp')
  6. or die("Couldn't open the socket: $@");
  7. 1;
  8. };
  9. warn($@) and sleep(5) if($@);
  10. } while ($@);
  11.  
  12. for(my $i = 0;$i &lt 20;$i++) {
  13. my $string = 'a';
  14. $sock->recv($string,1024);
  15. print &parseInput($string);
  16. }
  17.  
  18. $proto = getprotobyname('udp');
  19. socket(SOCKET, PF_INET, SOCK_DGRAM, $proto) or die "socket: $!";
  20. setsockopt(SOCKET, SOL_SOCKET, SO_BROADCAST, 1) or die "sockopt: $!";
  21. bind(SOCKET, sockaddr_in(9722, inet_aton('192.168.0.103'))) or die "bind: $!";
  22. recv(SOCKET, $msg, 128, 0) or die "recv: $!";
  23.  
  24. #!/usr/bin/perl -w
  25. # broadcast sender script
  26. use strict;
  27. use diagnostics;
  28. use Socket;
  29.  
  30. my $sock;
  31. my $receiverPort = 9722;
  32. my $senderPort = 9721;
  33.  
  34. socket($sock, PF_INET, SOCK_DGRAM, getprotobyname('udp')) || die "socket: $!";
  35. setsockopt($sock, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)) || die "setsockopt: $!";
  36. setsockopt($sock, SOL_SOCKET, SO_BROADCAST, pack("l", 1)) or die "sockopt: $!";
  37. bind($sock, sockaddr_in($senderPort, inet_aton('192.168.2.103'))) || die "bind: $!";
  38.  
  39. while (1) {
  40. my $datastring = `date`;
  41. my $bytes = send($sock, $datastring, 0,
  42. sockaddr_in($receiverPort, inet_aton('192.168.2.255')));
  43. if (!defined($bytes)) {
  44. print("$!n");
  45. } else {
  46. print("sent $bytes bytesn");
  47. }
  48. sleep(2);
  49. }
  50.  
  51. #!/usr/bin/perl -w
  52. # broadcast receiver script
  53. use strict;
  54. use diagnostics;
  55. use Socket;
  56.  
  57. my $sock;
  58.  
  59. socket($sock, PF_INET, SOCK_DGRAM, getprotobyname('udp')) || die "socket: $!";
  60. setsockopt($sock, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)) || die "setsockopt: $!";
  61. bind($sock, sockaddr_in(9722, inet_aton('192.168.2.255'))) || die "bind: $!";
  62.  
  63. # just loop forever listening for packets
  64. while (1) {
  65. my $datastring = '';
  66. my $hispaddr = recv($sock, $datastring, 64, 0); # blocking recv
  67. if (!defined($hispaddr)) {
  68. print("recv failed: $!n");
  69. next;
  70. }
  71. print "$datastring";
  72. }
Add Comment
Please, Sign In to add comment