Added session cleanup and basic disconnection handling.
This commit is contained in:
parent
e8041c7383
commit
c90662791e
@ -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}}); }
|
||||
}
|
||||
);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user