in reply to About non-blocking sockets
Creating a forking server, but sharing data can be a hassle
use threads and spawn a thread for each connection which makes sharing data easy
use POE, which is a commandline event loop system
use Tk, Gtk2, Wx, etc, which are GUI's which use an event loop
There are many many examples of all of these on groups.google.com, or in the archived nodes here at perlmonks.
Now if you get "real creative" in your socket-reading callback, you could use IO::Select to process the sockets, and in the callback for reading, take some time to do another task. But basically IO::Select is used when the socket transfers are small and fast, so the script can process other parts of the loop. So if you are uploading big files, IO::Select will not be a good choice, and you want forks and/or threads or POE, etc.
|
|---|