Wiggins has asked for the wisdom of the Perl Monks concerning the following question:
I am in need of guidance for the following. I am trying to use only core packages. I have taken the Msg.pm from "Advanced Perl Programming" (vol 1) and have grafted in a 'workproc' mechanism ala Xwindows. Now I need to be able to handle UDP packetes in the event loop as well as TCP. I am hoping someone has done that and would be willing to share.
There are some portions of the code I don't understand. The use of a data structure 'g-pkg'; and the following
The 1st looks like all new_server call are always OO,#New Server my ($pkg, $proto, $my_host, $my_port, $login_proc) = @_; and sub set_event_handler { shift unless ref($_[0]); # shift if first arg is package name my ($handle, %args) = @_;
but set_event_handler() may or may not be associated with an Object
====Update:========================
As I continue to look at this (Msg.pm) code, the more I see what seems to be a single connection only functionality.
That is picking a '$sock' value from a global scalar ($main_socket) that is set only fromsub _new_client { my $sock = $main_socket;
which is the last socket created. I am thinking that this may not be suited for multiple simultanious connections. If you look at 'g_login_proc', it is also a global singleton which is overwritten with each new call to 'new_server'.$main_socket = IO::Socket::INET->new (
So what are the recommendations for a robust communication and event dispatcher? (low learning curve is appreciated.
It is always better to have seen your target for yourself, rather than depend upon someone else's description.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Msg.pm + UDP
by kcott (Archbishop) on Feb 07, 2013 at 18:52 UTC | |
by Wiggins (Hermit) on Feb 07, 2013 at 20:33 UTC |