View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Dominique Dumont > RPC-Simple-1.001 > RPC::Simple::Factory



Annotate this POD

View/Report Bugs
Module Version: 1.7   Source   Latest Release: RPC-Simple-1.002


RPC::Simple::Factory - Perl extension for creating RPC client


 # with Tk
 use Tk;
 use RPC::Simple::Factory;

 my $mw = MainWindow-> new ;
 my $verbose = 1 ; # up to you 

 # create factory
 my $factory = new RPC::Simple::Factory
    tk_top => $mw,
    verbose_ref => \$verbose
  ) ;

 # without Tk
 # create factory
 my $factory = new RPC::Simple::Factory() ;
 my $socket = $factory -> getSocket ;

 # create event loop


This class handles all the tricky stuff involving socket handling. This module was originally written to be used with Tk. Now you can use it without Tk, in blocking mode or asynchronous mode.

Methods ^


Create the factory. One factory must be created for each remote host.

Parameters are:


When used with Tk, tk_top is the ref of Tk's main window. Factory will register the communication socket to Tk's filevent.


verbose_ref is the ref of a variable. When set to 1 at any time, the object will become verbose i.e. it will print on STDOUT a lot of messages related to the RPC processing.

With Tk, you may use $verboseRef as a text variable on a check button to control whether you want to trace RPC messages or not. If not provided, the object will not be verbose.


default: localhost


default: 7810


Socket time out (default 0). See IO::Socket for more details.

logmsg (...)

print arguments if verbose mode.

newRemoteObject( $owner_ref, [ remote_class_name ] ... )

Will create a remote (the remote_class_name) object tied to the owner.

Additional parameters will be passed as is to the remote 'new' method.


return the remote host name


Returns the socket created by Factory. So you can use it in your own event loop. When using Factory with Tk, the constructor will take care of registering the socket in Tk's event loop.

writeSockBuffer ( agent_index, remote_method, request_id, parameter, [object_name])

Encode the method, object, parameter and send it to the remote object.

agent_index and request_id are used later for the call-back mechanism.


read pending data on the socket. Do an eval on the read data to call-back the relevent Agents.

Note that there's no security implemented (yet).

Static functions ^


Will spawn a RPC::Simple server on your machine. Don't call this function if you need to do RPC on a remote machine.

Return the server pid or null (just like fork)


When the object is destroyed, the 'END' routine will be called. This will kill the server if it was created by spawn.


Dominique Dumont,


perl(1), RPC::Simple::Agent(3), RPC::Simple::AnyLocal(3).

syntax highlighting: