Skip Menu |

This queue is for tickets about the Net-YahooMessenger CPAN distribution.

Report information
The Basics
Id: 60971
Status: open
Priority: 0/
Queue: Net-YahooMessenger

People
Owner: Nobody in particular
Requestors: stefanos [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.19
Fixed in: (no value)



Subject: long periode tests like days, weeks, months
After several days of running time the Client suddenly stops working using a static IP with no apparent reason and without any errormessages but ICQ (net oscar) is still running. I tested it several times but i didnt discover anything unusual in the datastream or that any requests were left unanswered from the module. Reestablishing the connection worked immediately. It was tested using Windows and Linux (older and newer versions). Is the module for Yahoo Messenger still actively being developed (Filetransfer, TODO?) or are only already existing functions being maintained like the Errorfix specially messages and Buddy functions ? Are there any experiences with the module for long periods like days, weeks, months?
I have no experience running it for a long period. After it crashes, if you start it imediatelly does it work again? I experienced after few starts and stops that the server rejected connection but after few minutes it worked again. So far all that was done is bugfixing, no new feature was added for a long time. I was planing to do so, but so far I could not find the necessary spare time.
yes, it is more like an immediate exit than a crash, but it does work right away again. The server doesnt reject the connection. Are there any experiences for using a better debug for yahoo ? Maybe wireshark or do you have a separate debugtool for this module?
I was using a simple script that was acting as a proxy and dumped packets received/sent to/from yahoo from any client. You will need some POE modules to use it. I am attaching it, hope it helps you.
Subject: ym_proxy.pl
#!/usr/bin/perl use strict; use warnings; use POE qw/Component::Server::TCP Component::Client::TCP Filter::Stream/; our $client=undef; our $server=undef; $| = 1; #start proxy server POE::Component::Server::TCP->new( Port => 5050, ClientConnected => \&connected, ClientInput => \&input, ClientDisconnected => \&disconnected, ClientFilter => POE::Filter::Stream->new(), ) or die "Server $!"; #connect to yahoo server POE::Component::Client::TCP->new( RemoteAddress => 'scs.msg.yahoo.com', RemotePort => 5050, ServerInput => \&srv_input, Connected => \&srv_connected, Disconnected => \&srv_disconnected, Filter => POE::Filter::Stream->new(), ) or die "Client $!"; POE::Kernel->run(); sub srv_connected { my ($heap,$session) = @_[HEAP,SESSION]; $server = $heap->{server}; print "Connected to server\n"; } sub srv_disconnected { print "Disconnected from server\n"; } sub srv_input { my $input_record = $_[ARG0]; print "SERVER \n Message:$input_record\n Dump:"; dump_package($input_record); $client->put($input_record); } sub connected { my ($heap,$session) = @_[HEAP,SESSION]; $client = $heap->{client}; } sub input { my ($heap,$session,$client_input) = @_[HEAP,SESSION,ARG0]; print "\nCLIENT \n Message:$client_input\n Dump:"; dump_package($client_input); $server->put($client_input); } sub disconnected { print "\n\nDisconnected\n\n"; } =head2 dump_package Dump messages received from the server and client. Yahoo fields separator is the coresponding ascii for those two codes 192 128, they are marked with <> inside the dump <192 128> =cut sub dump_package { my ($data) = @_; foreach my $chr ( split('',$data) ) { print " <" if ord($chr)==192; print " " . ord($chr); print "> " if ord($chr)==128; } print "\n ------------------------------------------------END--------------------------------------------------------- \n"; }