I'm trying to create a simple client/server where the
client sends one line of text to the server and the
server displays the text. The client and server are
running on the same NT 4.0 machine. Everything seems
to work, except that the length of the text recieved
by the server is NULL. This happens whether the client
uses print or syswrite. The code is below. Any hints
as to what could be wrong? I get the same behavior if
I telnet to the server.
Client:
use strict;
use IO::Socket;
my ($host, $port, $handle);
unless (@ARGV == 2) { die "usage: $0 host port" }
($host, $port) = @ARGV;
# create a tcp connection to the specified host
and port
$handle = new IO::Socket::INET(Proto => "tcp",
PeerAddr =>
$host,
PeerPort =>
$port)
or die "can't connect to port $port on
$host: $!";
# $handle->autoflush(1); # so output
gets there right away
print STDERR "[Connected to $host:$port]\n";
# print $handle "Hello there !\n";
syswrite($handle, "Hello there !\n", length("Hello
there !\n"));
close ($handle);
server:
use IO::Socket;
my $sock = new IO::Socket::INET (
LocalPort => '1234',
Proto => 'tcp',
Listen => 1,
Reuse => 1,
);
die "Could not create socket: $!\n" unless $sock;
my $new_sock = $sock->accept();
while(defined(<$new_sock>)) {
print $_, length($_);
}
close($sock);
__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail.
http://personal.mail.yahoo.com/?.refer=text
_______________________________________________
ActivePerl mailing list
[EMAIL PROTECTED]
http://listserv.ActiveState.com/mailman/listinfo/activeperl