9 %socketArgs = (Listen
=>1,LocalPort
=>2229,Reuse
=>1,Proto
=>'tcp');
10 $m = IO
::Socket
::INET6
->new(%socketArgs)
11 or $m = IO
::Socket
::INET
->new(%socketArgs)
12 or die ("Socket creation failed: $!\n");
14 my $O = new IO
::Select
($m) or die ("Select failed: $!\n");
16 $verbose = ( $ARGV[0] eq '-v' ) ?
1 : 0;
20 while (@S = $O->can_read) {
27 my $R=sysread($_, $i, 16000);
29 # Log message received:
30 print "XmlSocketServer: received \"$i\"\n" if $verbose;
33 $T=syswrite($_, "\n", 16000);
40 # Sleep a bit before sending a reply to mimic web traffic
42 Time
::HiRes
::sleep(0.1);
43 print "XmlSocketServer: sending \"$i\" \n" if $verbose;
45 $i =~ s/\*NEWLINE\*/\n/g;
46 $i =~ s/\*NULL\*/\0/g;
48 $T=syswrite($_, $i, 16000);
51 if ($i =~ m/closeNow/) {
52 print("XmlSocketServer: closing...\n") if $verbose;
53 close($C) || die "Could not close reading Socket";
59 close($m) || die "Could not close server Socket";
60 print("XmlSocketServer: salut!\n") if $verbose;