udpserver.pl
#!use/bin/perl -w use Socket; #导入Socket库 $localhost=sockaddr_in(4000,INADDR_ANY);#压入sockaddr_in模式,利用了全局当地压缩地点INADDR_ANY保存字 socket(SERVER,AF_INET,SOCK_DGRAM,17); #成立UDP套接字 bind(SERVER,$localhost); #绑定套接字 while(1){ #进入办事器轮回体 next unless $client=recv(SERVER,$buff,100,0); #若是领受到数据就把数据压入$buff,保存长途地点在$client chop($buff); #减去$buff末了的输入标记 print "$buff/n"; #在$buff变量打入STDOUT send(SERVER,"$buff/n",0,$client); #把$buff发送给客户端 } close SERVER; #封闭套接字 exit 1; #退出法式
udpclient.pl
#!use/bin/perl -w use Socket; #导入Socket库 $host=$ARGV[0]; #第一参数为主机变量 $port=$ARGV[1]; #第二参数为端口变量 $packhost=inet_aton($host); #压缩主机地点 $address=sockaddr_in($port,$packhost); #压为sockaddr_in模式 socket(CLIENT,AF_INET,SOCK_DGRAM,17); #成立UDP套接字 send(CLIENT,"hi,body!/n",0,$address); #向套接字发送字符串变量 recv(CLIENT,$buff,100,0); #领受数据 print"$buff/n"; #把领受后的数据打入STDOUT close CLIENT; #封闭套接字 exit 1; #退出法式