Find Jobs
Hire Freelancers

Network Connection Server and Client in Perl

$100-500 USD

Cancelled
Posted about 15 years ago

$100-500 USD

Paid on delivery
A 100% Perl server that maintains network connections to other network devices and proxies access to those devices for other processes. Connection requests and data will always be initiated by a Perl client, normally executed in a mod_perl environment. The connection details (ip address, connection method, credentials, etc) will be pulled from a Mysql database by the server during processing of the initial connection. The connections will be maintained until explicitly closed by the requester, closed by the device, or a configurable timeout is reached. The client is a mod_perl compatible module to access the server for web automation. **Must use:** Net::Server, Net::SSH, Net::Telnet, Net::SNMP from CPAN. ## Deliverables Requirements [login to view URL] use Net::Server, Net::SSH, Net::Telnet, Net::SNMP from CPAN 2. TELNET and SSH connection any device may be shared(configurable per connection details) and may be multiply initiated. 3. SNMP connections to any device may be multiply initiated. 5. All options for server must be defined in configuration file and loaded at startup 6. Object oriented design is encouraged. All packages created must use the Snm::Tools::ConnectionServer prefix. For example, if you create a package and subs to handle the Telnet processing, you might name them Snm::Tools::ConnectionServer::Telnet and Snm::Tools::ConnectionServer::Telnet::Foo. 7. Use strict. 8. An initial database schema is provided, feel free to suggest changes. 9. A suggested client interface to the server is provided, feel free to suggest changes. You are responsible for implementing the internal interface code. 10. The proxy shall not modify input or output 11. The server shall service the client with data returned from the device through polling or callback, as selected by the client. 12. Use preforking server mode unless otherwise required. 13. The server's listening port (for client connections) should be configurable. 14. Client connection options should be as flexible as possible, with reasonable defaults. 15. You are responsible for the design of the client->server protocol, but please keep it simple and extensible. Deliverables: Perl Server code in packages with basic functional and variable documentation, in code and per function. Perldoc compatibility is not required. Perl Client code in packages with basic functional and variable documentation, in code and per function. Perldoc compatibility is not required. A fully commented configuration file for the Server with reasonable default values where applicable. Expected usage of the client: use CGI; use Snm::Tools::ConnectionServer::Client; ## # the named device connection is an ID for a set of connection details in the database ## # my $client = new Snm::Tools::ConnectionServer::Client(connection_id => "foo', connection_method => 'telnet'); my $ssh_client = new Snm::Tools::ConnectionServer::Client(connection_id => 'foo', 'connection_method' => 'ssh', auto_login => false); ## # other options can be timeout, whatever else you think is needed ... $client->send("foo"); ... $client->send("foo\n"); ## # non-blocking read my $data = $client->recieve(); ## # blocking read my $data = $client->read(true); ... ## # read with callback to function my $client = new Snm::Tools::ConnectionServer::Client(connection_id => "foo', connection_method => 'telnet', receive_callback => 'receiveDataCallback'); sub receivedDataCallback{ # I'll do something here }
Project ID: 3880769

About the project

1 proposal
Remote project
Active 15 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
1 freelancer is bidding on average $128 USD for this job
User Avatar
See private message.
$127.50 USD in 10 days
5.0 (14 reviews)
3.9
3.9

About the client

Flag of UNITED STATES
United States
5.0
1
Member since Oct 10, 2007

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.