Main > Programming > Libraries >

POE::Component::Client::TCPMulti 0.0521

POE::Component::Client::TCPMulti 0.0521

Sponsored Links

POE::Component::Client::TCPMulti 0.0521 Ranking & Summary

RankingClick at the star to rank
Ranking Level
User Review: 0 (0 times)
File size: 0.023 MB
Platform: Any Platform
License: Perl Artistic License
Price:
Downloads: 920
Date added: 2007-04-17
Publisher: Scott McCoy

POE::Component::Client::TCPMulti 0.0521 description

POE::Component::Client::TCPMulti is a high performance client TCP library.

SYNOPSIS

# Short Usage
POE::Component::Client::TCPMulti->create
( InputEvent => sub {
printf "%s:%d: %s",
$_[CHEAP]->ADDR, $_[CHEAP]->PORT, $_[ARG0];
},
SuccessEvent => sub {
printf "%s:%d: Connection Recieved",
$_[CHEAP]->ADDR, $_[CHEAP]->PORT;
$_[KERNEL]->yield( send => "" );
},
inline_states => {
_start => sub {
$_[KERNEL]->yield( connect => "127.0.0.1", $_ )
for 1..1024;
},
},
InputTimeout => 15,
);

# Longer Usage
POE::Component::Client::TCPMulti->create
( InputEvent => sub {
$_[KERNEL]->yield(send => $_[CHEAP]->ID, "Some Stuff");
},

Initialize => sub {
$_[CHEAP]->input_filter
( "POE::Filter::Block", BlockSize => 4);
},
ErrorEvent => &ErrorHandle,
Disconnected => &ErrorHandle,
TimeoutEvent => &TimeoutHandle,
FailureEvent => &FailureHandle,
SuccessEvent => sub {
$_[CHEAP]->filter("POE::Filter::Line");

# Set timeout for this connection to 350 seconds.
$_[CHEAP]->timeout(350);

# This state is part of the component interface
$_[KERNEL]->yield(send => $_[CHEAP]->ID, "Some Data");
},

Domain => AF_INET, # Optional

Alias => "MySession", # Optional
InputTimeout => 360, # Seconds, Optional
ConnectTimeout => 30, # Seconds, Optional
Timeout => 30, # Seconds, Optional
Filter => "POE::Filter::Something", # Optional

inline_states => {
_start => sub {
$_[KERNEL]->yield(connect => q(127.0.0.1), 25);
# _start isnt needed if you use an alias.
},
},

args => $Session_Args, # Optional
object_states => $Object_States, # Optional
package_states => $Package_States, # Optional
);

# This should be done from within a state in the TCPMulti
# Session. Its purpose is to allow prepropigation of the
# connection heap as well as connection specific timeout
# Settings.
POE::Component::Client::TCPMulti->connect
( RemoteAddress => "127.0.0.1",
RemotePort => 25,
BindAddress => "127.0.0.1", # Optional
BindPort => 0, # Optional
ConnectTimeout => 50, # Connect only.
InputTimeout => 300, # Input only.
Heap => %Propigation );

POE::Component::Client::TCPMulti is a very lightweight, highly optimized component designed for large numbers of simultanious outgoing connections. The major advantage to this module over POE::Component::Client::TCP is that it runs in a single session, reguardless of the number of outgoing simultanious connections. I have found this in fact to use considerable less overhead than POE::Component::Client::TCP in high traffic. The disadvantage lies mearly in the API complexity over POE::Component::Client::TCP.

It is in fact due to this added API complexity that I decided to create a seperate module, rather than altering POE::Component::Client::TCP [ or coaxing Rocco to let me ]. POE::Component::Client::TCP is a great module and this is not designed to completely replace it. It is however designed as a solution for extremely high traffic situations when the overhead of an individual session for each outgoing connection is not appropriate for the added simplicity in the API. Especially considering that this API is not really *that* much more complex.

POE::Component::Client::TCPMulti 0.0521 Screenshot

Advertisements

POE::Component::Client::TCPMulti 0.0521 Keywords

Bookmark POE::Component::Client::TCPMulti 0.0521

Hyperlink code:
Link for forum:

POE::Component::Client::TCPMulti 0.0521 Copyright

WareSeeker periodically updates pricing and software information of POE::Component::Client::TCPMulti 0.0521 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of POE::Component::Client::TCPMulti 0.0521 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed

Allok Video Splitter 2.2.0 Review:

Name (Required)
Email(Required)
Captcha
Featured Software

Want to place your software product here?
Please contact us for consideration.

Contact WareSeeker.com
Related Software
POE::Component::Client::Traceroute is a non-blocking traceroute client. Free Download
POE::Component::Client::FTP is a Perl module that implements an FTP client POE Component. Free Download
POE::Component::Client::SMTP is a Perl module for asynchronous mail sending with POE. Free Download
POE::Component::Client::Halo is an implementation of the Halo query protocol. Free Download
POE::Component::Client::HTTP is a HTTP user-agent component. Free Download
POE::Component::Client::Rcon is an implementation of the Rcon remote console protocol. Free Download
POE::Component::Client::AirTunes is a Perl module with stream music to Airport Express. Free Download
POE::Component::ControlPort is a Perl module with network control port for POE applications. Free Download