#!/usr/bin/perl -w # # ipmsg.pl # # ipmsg.pl ... input message from STDIN # use Socket; use Sys::Hostname; use NKF; ## to info my $tohost = gethostbyname( $ARGV[0] ); my $toport = 2425; ## from info my $myname = $ARGV[1]; my $myhost = "hostHoge"; ## net info my $proto = getprotobyname('udp'); my $ihost = gethostbyname(hostname()); my $ipaddr = sockaddr_in( 0, $ihost ); # 0 means let kernel pick my $hispaddr = sockaddr_in( $toport, $tohost ); my $opt = "-sLw"; my $sendtext; if (@ARGV == 3) { my $c = $ARGV[2]; $sendtext = sprintf( '1:%d:%s:%s:32:%s', int(rand(100))+1, $myname, $myhost, nkf($opt,$c) ); } else { my $c = ; $sendtext = nkf($opt, $c); $sendtext = sprintf( '1:%d:%s:%s:32:%s', int(rand(100))+1, $myname, $myhost, $sendtext ); } socket( SOCKET, PF_INET, SOCK_DGRAM, $proto); bind( SOCKET, $ipaddr); send( SOCKET, $sendtext, 0, $hispaddr);