in reply to Re: Shared.pm
in thread Shared.pm
Hmm...
I am not sure why the test program didn't work for you (it works fine and dandy on this ened); you messaged me that you are running 5.005_03, but I doubt that has anything to do with it (Although it may... you never know :).
However, its not TOO surprising that some people have problems running it, since its in super-early beta, but let me explain how it works so you might be able to figure out the problem. First of all, when a new Shared::Local object is declared, a child is spawned that listens for any connection to it. If it is a valid connection with a valid header, it either recieves the information and stores it, or else sends it back if the special "retrieve" signal is sent. The Shared::Retriever is your interface to the data. Store first serializes the data, then connects to the port and address stored in the Shared::Local/Remote object, until it finally writes a header followed by the data. Retrieve works a bit differently; It starts off similarly to store, but instead of the data being sent, a collection of special characters is sent in order to signify that it should send the data back. If Shared::Local object sees these characters, the Shared::Local object then stores the port and address information, closes the connection, then connects back. In the meantime, the Retriever has since closed its side of the connection, and opened a listening port in order to recieve the information back. The information is then deserialized and returned.
About Shared::Remote: The reason you have to specify a port is for security reasons; if an attacker already knows where he has to go, that is simply less work he has do.
Thank you for bringing up the fact that zombie processes remain if for some reason the socket did not open; I will create a sub that will work similarly to destroy_all except also return a message to die. Thank god for testers :)
Also, by default, Shared lets the OS pick the port (although there is an option in the constructor to specify a specify one if you so choose.)
Finally, I'd like to thank you for taking the time out to test, I truely appreciate it.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Shared.pm
by lestrrat (Deacon) on Dec 07, 2001 at 07:41 UTC | |
by jryan (Vicar) on Dec 07, 2001 at 08:48 UTC | |
by lestrrat (Deacon) on Dec 08, 2001 at 13:17 UTC |