Find Jobs
Hire Freelancers

Network Connection Server and Client in Perl

$100-500 USD

キャンセル
投稿日: 約15年前

$100-500 USD

完了時にお支払い
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 }
プロジェクト ID: 3880769

プロジェクトについて

1個の提案
リモートプロジェクト
アクティブ 15年前

お金を稼ぎたいですか?

Freelancerで入札する利点

予算と期間を設定してください
仕事で報酬を得る
提案をご説明ください
登録して仕事に入札するのは無料です
この仕事に1人のフリーランサーが、平均$128 USDで入札しています
ユーザーアバター
See private message.
$127.50 USD 10日以内
5.0 (14 レビュー)
3.9
3.9

クライアントについて

UNITED STATESのフラグ
United States
5.0
1
メンバー登録日:10月 10, 2007

クライアント確認

ありがとうございます!無料クレジットを受け取るリンクをメールしました。
メールを送信中に問題が発生しました。もう一度お試しください。
登録ユーザー 投稿された仕事の合計
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
プレビューを読み込み中
位置情報へのアクセスが許可されました。
あなたのログインセッションの有効期限がきれ、ログアウトされました。もう一度ログインしてください。