你可能已經知道,perl綜合典藏網(comprehensive perl archive network,cpan)上有很多現成的perl模塊,能夠讓開發人員高效地完成常見任務。cpan在網絡編程上提供的資源尤其如此,它有數千個模塊,從一般的(服務器守護程序)到針對性非常強的應用程序(比如與思科路由器進行交互的程序)。由于網絡編程是大多數開發人員覺得可能會存在困難的地方,所以你值得花點時間讀一下本文的內容,看看是否能夠找到可以幫助你完成下一個項目的東西。
通過列舉出cpan中最有意思的網絡編程模塊(表格a),本文為你瀏覽cpan網絡編程板塊提供了一個起點。
注:按照cpan web網站上提供的幫助,你可以直接從internet上安裝cpan模塊。
表格a
模塊名稱 | 描述 |
net::server | 這個模塊提供的例程可以創建一個全功能的服務器,它可以作為單連接服務器運行,也可以通過*nix的inetd守護程序運行。它支持很多服務器特性,比如tcp、udp和unix套接字的多路復用、分支、訪問控制和事件處理,而且很容易通過子分類來擴展。 當你需要針對特定的需求創建一個高度自定義、可擴展的服務器時使用它。 |
net::pop3 | 這個模塊提供的例程可以利用perl來連接pop3電子郵件服務器并進行事件處理。有了這個模塊,你的perl應用程序能夠進行身份驗證、讀取和刪除消息,或者使用預先定義的api獲取信息列表。 當你需要創建一個基于pop3電子郵件客戶端的時候使用這個模塊。 |
lwp | 這個模塊提供一個用來創建http客戶端和服務器的接口。它提供的面向對象的接口通過perl來發送http請求和解釋http的響應。它還支持代理服務器、cookie、http身份驗證和內容溝通,以及重新引導等,當你需要創建一個與web服務器進行事件處理的http客戶端時,它就非常好用了。 當你需要創建一個與web服務器進行交互操作的http客戶端時使用這個模塊。 |
net::socket | 這個模塊提供的面向對象接口用來創建、管理和終止perl環境里tcp/udp套接字。 當你需要一個面向對象的接口在tcp/ip環境下進行套接字編程時使用這個模塊。 |
net::dns | 這個模塊提供了一個與dns系統的接口,讓你能夠通過perl應用程序在遠程主機上進行復雜的dns查詢。這個模塊還提供了對dns響應的不同區段的oop訪問。 當你需要運行dns查詢,比如查找名字服務器和mx記錄,或者進行區域轉移時使用這個模塊。 |
net::packet | 這個模塊提供了一個用于創建和傳輸網絡數據包的低級接口。你可以用它來創建不同的數據幀層,并把結果發送到網絡上。 當你需要自定義創建tcp、udp、icmp、ipv4或者ipv6數據包時使用這個模塊。 |
net::fileshare | 這個模塊提供一個用來創建文件共享客戶端和服務器的api。客戶端可以是交互式的也可以是全自動的。 當你需要創建一個能夠散發文件的服務器或者創建一個能夠自動下載的客戶端時使用這個模塊。 |
net::ftp | 這個模塊提供一個用來包裝ftp協議的包裝程序,從而使得用perl語言編寫ftp客戶端應用程序成為可能。它支持pasv事件處理、ascii和二進制文件傳輸,以及遠程服務器上的大多數常見ftp文件操作。 當你需要通過perl應用程序進行ftp文件上傳或者下載時使用這個模塊。 |
net::ymsg | 這個模塊提供了一個與yahoo! messenger即時消息服務的接口,從而讓你的perl應用程序可以通過該服務進行身份驗證、發送和接收消息。 當你需要一個基于perl的接口與yahoo! messenger用戶進行通信的時候使用這個模塊。 |
net::ssh::perl | 這個模塊提供了一個與ssh1和ssh2安全外科協議(secure shell protocol)的接口。這個模塊本身還支持密碼和私鑰驗證,對所有的數據自動進行加密,并且讀取已有的ssh配置。 當你的perl應用程序要與受到ssh保護的主機進行接口時使用這個模塊。 |
新聞熱點
疑難解答