netty的入門經典例子的使用
這一篇先來看org.apache.mina.core.service。第一個要說的接口是IoService,它是所有IoAcceptor和IoConnector的基接口.對于一個IoService,有哪些信息需要我們關注呢?1)底層的元數據信息TransportMetadata,比如底層的網絡服務提供者(NIO,ARP,RXTX等),2)通過這個服務創建一個新會話時,新會話的默認配置IoSessionConfig。3)此服務所管理的所有會話。
簡介:Apache MINA2是一個開發高性能和高可伸縮性網絡應用程序的網絡應用框架。它提供了一個抽象的事件驅動的異步API,可以使用TCP/IP、UDP/IP、串口和虛擬機內部的管道等傳輸方式。ApacheMINA2可以作為開發網絡應用程序的一個良好基礎。本文將介紹ApacheMINA2的基本概念和API,包括I/O服務、I/O會話、I/O過濾器和I/O處理器。另外還將介紹如何使用狀態機。本文包含簡單的計算器服務和復雜的聯機游戲兩個示例應用。
Libevent的API提供了這樣的一套機制:當指定文件描述符中一個特定的事件發生,或者超時時間到達后執行指定的回調函數。
一、前言Libevent是一個輕量級的基于事件驅動的開源高性能網絡庫,適用于windows、linux、bsd等多種平臺,支持多種I/O多路復用技術,iocp、epoll、poll、dev/poll、select和kqueue等。根據libevent官方網站上公布的數據統計,似乎也有著非凡的性能。基礎概念學習libevent,首先得了解什么是事件驅動。所謂事件驅動,簡單地說就是你點什么按鈕(即產生什么事件),電腦執行什么操作(即調用什么函數。
本文介紹了如何在 Windows 操作系統中,利用微軟 Visual Studio 2005 編譯生成 Libevent 2.0.10 靜態鏈接庫,并利用 Libevent 靜態鏈接庫,實現一個簡單的 HTTP Web服務器程序:httpd.exe。
ProtocolBuffers是Google開發的一種數據描述語言,能夠將結構化數據序列化,可用于數據存儲、通信協議.
歡迎來到protocol buffer的開發者指南文檔,一種語言無關、平臺無關、擴展性好的用于通信協議、數據存儲的結構化數據串行化方法。 本文檔面向希望使用protocol buffer的Java、C++或Python開發者。這個概覽介紹了protocol buffer,并告訴你如何開始,你隨后可以跟隨編程指導
簡介什么是Google Protocol Buffer?假如您在網上搜索,應該會得到類似這樣的文字介紹:Google Protocol Buffer(簡稱Protobuf)是Google公司內部的混合語言數據標準,目前已經正在使用的有超過48,162種報文格式定義和超過12,183個.proto文件。他們用于RPC系統和持續數據存儲系統。ProtocolBuffers是一種輕便高效的結構化數據存儲格式,可以用于結構化數據串行化,或者說序列化。它很適合做數據存儲或RPC數據交換格式。可用于通訊協議、數據存儲等領域的語言無關、平臺無關、可擴展的序列化結構數據格式。
Apache MINA是一個網絡應用框架,它幫助開發者容易地開發高性能和高擴展性的網絡應用。通過JAVA NIO,它為不同的傳輸層(例如TCP/IP和UDP/IP)提供一個抽象的“異步事件驅動”API。 NIO API 在JAVA1.4中被介紹,從那時起被廣泛應用。NIO API允許IO非阻塞操作。 注意:首先需要知道的是MINA是在NIO1上寫的。新版本在用JAVA7設計,NIO-2,我們沒有從這個版本增加的特性中獲益。 注意:另外一個重點需要知道的是N在NIO中是指New,但是我們在很多場合中將使用Non-Blocking(非阻塞)術語。NIO-2應該被看作是New New I/O.
JDK自帶的HttpURLConnection,貌似在大多數場景下都已足夠使用。 Apache HttpClient,多了一些功能,比如設定最大連接池,Cookies與認證的功能更強等等。 Jersey的Restful Client和 Spring的RestTemplate。 對于很Restful的服務端,Jersey/Spring的Restful Client能更好的打交道,比如發送和讀取Restful應用常用的參數,轉換json格式的數據等等。
httpclient4中文版幫助文檔,最新官方版翻譯版前言超文本傳輸協議(HTTP)也許是當今互聯網上使用的最重要的協議了。Web服務,有網絡功能的設備和網絡計算的發展,都持續擴展了HTTP協議的角色,超越了用戶使用的Web瀏覽器范疇,同時,也增加了需要HTTP協議支持的應用程序的數量。盡管java.net包提供了基本通過HTTP訪問資源的功能,但它沒有提供全面的靈活性和其它很多應用程序需要的功能。HttpClient就是尋求彌補這項空白的組件,通過提供一個有效的,保持更新的,功能豐富的軟件包來實現客戶端最新的HTTP標準和建議。
httpClient手冊(中文)前言超文本傳輸協議(HTTP)也許是當今互聯網上使用的最重要的協議了。Web服務,有網絡功能的設備和網絡計算的發展,都持續擴展了HTTP協議的角色,超越了用戶使用的Web瀏覽器范疇,同時,也增加了需要HTTP協議支持的應用程序的數量。盡管java.net包提供了基本通過HTTP訪問資源的功能,但它沒有提供全面的靈活性和其它很多應用程序需要的功能。HttpClient就是尋求彌補這項空白的組件,通過提供一個有效的,保持更新的,功能豐富的軟件包來實現客戶端最新的HTTP標準和建議。為擴展而設計,同時為基本的HTTP協議提供強大的支持,HttpClient組件也許就是構建HTTP客戶端應用程序,比如web瀏覽器,web服務端,利用或擴展HTTP協議進行分布式通信的系統的開發人員的關注點。
一概述:HttpWatch強大的網頁數據分析工具.集成在InternetExplorer工具欄.包括網頁摘要.Cookies管理.緩存管理.消息頭發送/接受.字符查詢.POST數據和目錄管理功能.報告輸出HttpWatch是一款能夠收集并顯示頁頁深層信息的軟件。它不用代理服務器或一些復雜的網絡監控工具,就能夠在顯示網頁同時顯示網頁請求和回應的日志信息。
如果你還不知道Netty是做什么的能做什么。那可以先簡單的搜索了解一下。我只能說Netty是一個NIO的框架,可以用于開發分布式的Java程序。具體能做什么,各位可以盡量發揮想象。既然是分布式的,自然要分多個服務。Netty中,需要區分Server和Client服務。所有的Client都是綁定在Server上的,他們之間是不能通過Netty直接通信的。(自己采用的其他手段,不包括在內。)。白話一下這個通信過程,Server端開放端口,供Client連接,Client發起請求,連接到Server指定的端口,完成綁定。隨后便可自由通信。其實就是普通Socket連接通信的過程。
筆者之前的工作主要是做 java 的 web 端開發,后因工作原因參與了一個國家級的大項目,主要負責其中底層通訊的前置機模塊。幾經波折,將該系統完成后,結果在第一輪的測試中就慘敗退回。其根本原因就在于原設計文檔的要求單“通信機”與“終端”(注一)之間的并發量要達到 2W 以上的連接通信,而實際運行并發量只能達到 2600 個相差了近十倍左右。經過代碼調優、擴展 JVM 內存等等手段,但因基礎數據相差過大,所取得的優化效果十分有限。后考慮在根本著手,只有更改整個系統的通信接口,才有可能達到設計文檔上的要求。某天在某個技術 QQ 群里一次討論中,有網友向我推薦了一個框架,這就是本文要介紹的主角 -MINA 。
引言(1)WindowsSockets由兩部分組成:開發組件和運行組件。開發組件:WindowsSockets實現文檔、應用程序接口(API)引入庫和一些頭文件。運行組件:WindowsSockets應用程序接口的動態鏈接庫(WINSOCK.DLL)
Windows Sockets 是從 Berkeley Sockets 擴展而來的,其在繼承 Berkeley Sockets 的基礎上,又進行了新的擴充。這些擴充主要是提供了一些異步函數,并增加了符合WINDOWS消息驅動特性的網絡事件異步選擇機制。 Windows Sockets由兩部分組成:開發組件和運行組件。 開發組件:Windows Sockets 實現文檔、應用程序接口(API)引入庫和一些頭文件。 運行組件:Windows Sockets 應用程序接口的動態鏈接庫(WINSOCK.DLL)。
前言面向對象中間件體系結構主機基礎設施中間件:封裝socket,線程等不同主機的實現,形成統一的接口。如java,ACE分布式中間件:連接管理,內存管理,整編,解編,端點和請求的多路分離,同步,多線程等,使程序員象開發獨立應用程序一樣開發分布式應用程序。分布式中間件的核心是ORB(ObjectRequestsBroker對象請求代理),如:COM+,JAVARMI,CORBA.
簡單介紹:MINA框架是對java的NIO包的一個封裝,簡化了NIO程序開發的難度,封裝了很多底層的細節,然開發者把精力集中到業務邏輯上來,最近做了一個相關的項目,為了備忘對MINA做一個總結。