You need to keep track of all the TCP connections. http://poe.perl.org/?POE_Cookbook/Chat_Server shows how to do it. Instead of broadcasting messages to all attached clients, though, you would be broadcasting a "shutdown" event.
-- Rocco Caputo <rcap...@pobox.com> On Sep 5, 2011, at 13:47, Gunnar Strand wrote: > Hi, > > I have a TCP server with persistent client connections which are not > expected to disconnect. I want to be able to bring down the > PoCo::Server::TCP, but sending "shutdown" makes a graceful client shutdown, > waiting for persistent connections to close. I've not found any way to tell > the TCP server PoCo to perform the disonnect on the server side, and the > client sessions My application does not keep track of connected client > sessions. > > According to POE::Kernel, doing: > > $_[KERNEL]->signal( $_[KERNEL], 'shutdown' ); > > should broadcast the shutdown event to all sessions, but it doesn't seem to > close the client sessions. > > Do I need to keep track of all client sessions myself? I want to restart the > server occasionally and want it to exit on INT or TERM signals - perhaps I > am attacking this in the wrong way? > > BR > Gunnar