hari9 has asked for the wisdom of the Perl Monks concerning the following question:
Hi all,
I'm trying to maintain a record of how many times clients connects to a server(This information is then processed further for directing the client suitably)
I'm using hashes which has the following keys: peer_address, times_connected.
so everytime a client connects to a server, its times_connected is incremented.
And the code at the server side is as below:my %has; while(1) { # waiting for new client connection. $client_socket = $socket->accept(); # get the host and port number of newly connected client. $peer_address = $client_socket->peerhost(); ## check against previous connections if (exists $has{$peer_address}) { $has{$peer_address}->{times_connect}=$has{$peer_address}->{tim +es_connect}+1; print "No. of Times it has communicated : $has{$peer_address}- +>{times_connect}"; } else { print "new connection\n"; $t=1; ++$has{$peer_address}; $has{$peer_address}->{times_connect}=$t; } }
Now when I run client script from one machine, I get a proper count of times_connect, but when I use the second machine to run the client code, the times_connect is getting mixed up.
in short, I'm not able to get times_connect for each client.
Any help you be great. Thanks
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Hashes for counting
by zentara (Archbishop) on Aug 06, 2010 at 18:08 UTC | |
Re: Hashes for counting
by ysth (Canon) on Aug 06, 2010 at 18:29 UTC | |
Re: Hashes for counting
by fullermd (Priest) on Aug 07, 2010 at 10:32 UTC |
Back to
Seekers of Perl Wisdom