Ah ha,
A documentation bug, In perldoc POE::Component::Client::TCP
Filter
....
For example, this changes the line separator to a vertical pipe:
Filter => [ "POE::Filter::Line", InputLiteral => "|" ],
Should be:
Filter => [ "POE::Filter::Line", Literal => "|" ],
Jay
>
> Rocco,
>
> I did it the way you said (e.g. with a Wheel::ReadWrite &
POE::Filter::Line)
> and that works. The initial part of the conversation goes:
> connect
> send clientVersion number
> receive serverVersion number
> send clientID
>
> For grins (cause David suggested it) I tried with Component::Client::TCP,
> but now it doesn't seem to call serverInput. I can't see my problem. Can
> someone point to my error?
>
> Thanks
> Jay
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
> use POE qw(Component::Client::TCP);
>
> $|++;
>
> POE::Component::Client::TCP->new(
> RemoteAddress => "localhost",
> Filter => [ "POE::Filter::Line", InputLiteral => "\0" ],
> RemotePort => 11001,
> Connected => \&connected,
> ConnectError => \&connectError,
> Disconnected => \&disconnected,
> ServerInput => sub {
> my $input = $_[ARG0];
> print "from server: $input\n";
> },
> ServerError => \&serverError,
> );
>
> $poe_kernel->run();
>
> sub connected {
> my ($heap) = @_[HEAP, ARG0];
> print "connected\n";
> my $clientVersion = 10;
> $heap->{server}->put($clientVersion);
> }
>
>
>