Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- my $sock;
- do {
- eval {
- $sock = IO::Socket::INET->new(LocalPort => 9722, Proto => 'udp')
- or die("Couldn't open the socket: $@");
- 1;
- };
- warn($@) and sleep(5) if($@);
- } while ($@);
- for(my $i = 0;$i < 20;$i++) {
- my $string = 'a';
- $sock->recv($string,1024);
- print &parseInput($string);
- }
- $proto = getprotobyname('udp');
- socket(SOCKET, PF_INET, SOCK_DGRAM, $proto) or die "socket: $!";
- setsockopt(SOCKET, SOL_SOCKET, SO_BROADCAST, 1) or die "sockopt: $!";
- bind(SOCKET, sockaddr_in(9722, inet_aton('192.168.0.103'))) or die "bind: $!";
- recv(SOCKET, $msg, 128, 0) or die "recv: $!";
- #!/usr/bin/perl -w
- # broadcast sender script
- use strict;
- use diagnostics;
- use Socket;
- my $sock;
- my $receiverPort = 9722;
- my $senderPort = 9721;
- socket($sock, PF_INET, SOCK_DGRAM, getprotobyname('udp')) || die "socket: $!";
- setsockopt($sock, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)) || die "setsockopt: $!";
- setsockopt($sock, SOL_SOCKET, SO_BROADCAST, pack("l", 1)) or die "sockopt: $!";
- bind($sock, sockaddr_in($senderPort, inet_aton('192.168.2.103'))) || die "bind: $!";
- while (1) {
- my $datastring = `date`;
- my $bytes = send($sock, $datastring, 0,
- sockaddr_in($receiverPort, inet_aton('192.168.2.255')));
- if (!defined($bytes)) {
- print("$!n");
- } else {
- print("sent $bytes bytesn");
- }
- sleep(2);
- }
- #!/usr/bin/perl -w
- # broadcast receiver script
- use strict;
- use diagnostics;
- use Socket;
- my $sock;
- socket($sock, PF_INET, SOCK_DGRAM, getprotobyname('udp')) || die "socket: $!";
- setsockopt($sock, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)) || die "setsockopt: $!";
- bind($sock, sockaddr_in(9722, inet_aton('192.168.2.255'))) || die "bind: $!";
- # just loop forever listening for packets
- while (1) {
- my $datastring = '';
- my $hispaddr = recv($sock, $datastring, 64, 0); # blocking recv
- if (!defined($hispaddr)) {
- print("recv failed: $!n");
- next;
- }
- print "$datastring";
- }
Add Comment
Please, Sign In to add comment