diff --git a/Server/server.pl b/Server/server.pl index 1e7d54a..105faf3 100755 --- a/Server/server.pl +++ b/Server/server.pl @@ -432,6 +432,16 @@ my $server = Net::WebSocket::Server->new( }, disconnect => sub { my ($conn, $code, $reason) = @_; + print "A connection has been closed\n"; + print "The code: ".$code." was given, the reason given was: ".$reason."\n"; + if (4001 == $code) { + delUser($conn->{session},$conn->{user}); + unless (scalar getUsers($conn->{session})) { delete($sessions{$conn->{session}}); } + } + my $count = -1; # because for some reason the disconnecting session is counted. + for ($conn->server->connections) { if ($_->{session} == $conn->{session}) { $count++; print $_->{user}."\n"; }} +print $count."\n"; + unless ($count) { delete($sessions{$conn->{session}}); } } ); }