1. 程式人生 > >網路程式設計框架介紹(八, 持續更新)

網路程式設計框架介紹(八, 持續更新)

自從JDK1.4中有了NIO以後,這個方面越來越活躍,也為java贏得更多開發者的支援。

做java網路程式設計需要掌握一些基本的知識和技能:套接字程式設計、阻塞/非阻塞通訊、建立HTTP伺服器與客戶程式、資料報通訊、物件的序列化與反序列化、Java反射機制、RMI框架、JDBC API、JavaMail API、MVC設計模式、安全網路通訊、CORBA和Web服務 等等。

  1. Apache MINA

為開發高效能和高可用性的網路應用程式提供了非常便利的框架;支援基於 Java NIO 技術的 TCP/UDP 應用程式開發、串列埠通訊程式

  1. Grizzly

設計與一般的nio框架相比是比較不同的,主要不同點在於讀和寫都是採用blocking方式,並且使用臨時selector ;
執行緒模型高度可配置,不過據作者介紹在跑一個selector主執行緒處理ACCEPT,用執行緒池處理read和write效能表現最好,這點不出意料。

  1. Netty

提供了一組基於事件的API來開發高效能, 可管理的TCP/IP服務端或客戶端應用程式. 對於要求建立高效能的網路應用來說,Netty提供許多基本特性,像readiness selection, 執行緒池, 寫緩衝DoS的預防, 可重用的緩衝等.

  1. NIO Framework

搭建在Java NIO library之上,封裝了原始NIO的大部分複雜性。利用NIO Framework能夠很容易地開發安全,高效能的Java網路應用程式。

  1. QuickServer

一個免費的開源Java庫,用於快速建立健壯的多執行緒、多客戶端TCP伺服器應用程式。使用QuickServer,使用者可以只集中處理應用程式的邏輯/ 協議。

  1. xSocket

一個輕量級的基於nio的伺服器框架用於開發高效能、可擴充套件、多執行緒的伺服器。該框架封裝了執行緒處理、非同步讀/寫等方面。

  1. IOServer

高效能,易擴充套件的網路框架,相對於Apache的MINA更加輕量級,原始碼更容易讀懂,原始碼中有大量詳細的中文註解,是一個非常不錯的學習框架,框架主要至力於解決中國市場上手機網遊的伺服器端程式的編寫。

IoServer構建簡單伺服器例程(更詳細的例程可下載例程包,或進入Wiki檢視)伺服器接收一個來自客戶端的整型,並加一返回給客戶端。

  1. XNIO

一個幫助你簡化NIO應用程式開發的Java包;

提供了一個獨特和易於使用的API,用於結合blocking和非blocking操作,即使是在同一個channel上,也可以允許你利用簡單和低延遲性的blocking I/O,同時還能獲得非blocking I/O的優勢;

還引入了一個功能強大的基於回撥的介面,可以大大簡化基於traditional state machine的非blocking應用,並讓您的應用程式之間的吞吐量(throughput)和延時達到完美平衡。

另外中介軟體平臺ICE也可能被用到此場景中。

相關推薦

網路程式設計框架介紹(, 持續更新)

自從JDK1.4中有了NIO以後,這個方面越來越活躍,也為java贏得更多開發者的支援。 做java網路程式設計需要掌握一些基本的知識和技能:套接字程式設計、阻塞/非阻塞通訊、建立HTTP伺服器與客戶程式、資料報通訊、物件的序列化與反序列化、Ja

搭建react框架(會持續更新,加入各個集成模塊)

bubuko pan 安裝 技術 img ont info sta AC 前提: 需要安裝Node.js (>6)版本 1.cmd進到本地某個目錄, 逐行輸入以下指令(以下括號為註釋) npm install -g create-react-app (全局

ConstraintLayout的大發888網站開發使用介紹持續更新

topo pla width 邊界 升級 ole 生效 eof -a 一、概述大發888網站開發 haozbbs.com Q1446595067 ConstraintLayout,即約束布局, 已經推出很久了。布局方式與RelativeLayout有點類似,但可以說是Rel

程式設計書籍分享(持續更新....)

本頁面分享IT技術書籍,所有的書籍均是完整的pdf,所有書籍都有看過(大部分沒看完),都是我認為非常不錯的書籍,分享給大家,放在csdn下載。下載積分都設定為1(csdn現在沒辦法設定成不用積分下載),但如果下載人數太多,csdn會自動把積分調高,如果沒有積分的可以在下方留email,我會盡

一些可能很常用的函式介紹持續更新

一些次常用的函式介紹: replace replace(初始位置,結束位置,替換字串); find (母字串).find(子字串,起始位置) 如果沒有設定起始位置預設為從頭開始。 random_shuffle() random_shuffle(起始位置,結束位置)

一些可能很常用的函數介紹持續更新

lac n) 常用 介紹 持續更新 復雜度 都在 tro section 一些次常用的函數介紹: replace replace(初始位置,結束位置,替換字符串); find (母字符串).find(子字符串,起始位置) 如果沒有設置起始位置默認為從頭開始。 ra

網路基礎知識彙總(持續更新

網路基礎知識彙總 1.網路模型 2.二三層轉發 3.IP路由 4.VLAN 1.網路模型 常見的網路層次劃分有OSI七層協議、TCP/IP四層協議以及TCP/IP五層協議,它們之間的對應關係如下圖所示: 由於工作偏向於底層網路,

Netty深入分析與Dubbo實戰解析(一)——網路程式設計模型介紹

Linux網路程式設計模型介紹 Linux核心將所有外部裝置都看作一個檔案來操作,對一個檔案的讀寫操作會呼叫核心提供的系統命令,返回一個file descriptor(fd,檔案描述符)。而對一個socket的讀寫也會有相應的描述符。描述符就是一個數字,它指向核心中的一個結構體(檔案路徑

hibernate框架筆記整理持續更新

hibernate篇 1.1什麼是CRM CRM 客戶關係管理,是利用相應的資訊科技以及網際網路技術來協調企業與客戶之間在銷售、營銷和服務上的互動,向客戶提供互動和服務的過程;最終目的是組建一個以客戶為中心的企業,實現面向客戶的活動的全面管理         1.2、

Java網路程式設計入門()之網路協議

 網路協議          對於需要從事網路程式設計的程式設計師來說,網路協議是一個需要深刻理解的概念。那麼什麼是網路協議呢?          網路協議是指對於網路中傳輸的資料格式的規定。對於網路程式設計初學者來說,沒有必要深入瞭解TCP/IP協議簇,所以對於初學者來

ASP.NET Core框架揭祕(持續更新中…)

之前寫了一系列關於.NET Core/ASP.NET Core的文章,但是大都是針對RC版本。到了正式的RTM,很多地方都發生了改變,所以我會將之前釋出的文章針對正式版本的.NET Core 1.0進行改寫。除此之外,我還會撰寫一系列與此相關的文章,這些文章以ASP.NET Core為核心,我個人將它們分成三

網路程式設計 筆記() I/O複用

select函式呼叫示例 #include <stdio.h> #include <unistd.h> #include <sys/time.h> #include <sys/select.h> #defi

您所應瞭解的Python四大主流網路程式設計框架

本文內容摘錄自《Python高效開發實戰——Django、Tornado、Flask、Twisted》一書。該書分為三部分:第1部分是基礎篇,帶領初學者實踐Python開發環境和掌握基本語法,同時對網路協議、Web客戶端技術、資料庫建模程式設計等網路程式設

各種高階語言簡單介紹持續更新

public class ShapeFactory { public static <T> T getClass(Class<? extends T> clazz) {

專案框架搭建用到的第三方框架—3(持續更新中)

專案框架搭建用到的第三方框架—3 QMUI_Android Git地址: https://github.com/QMUI/QMUI_Android 官網: https://qmuiteam.com/android/ Api說明地址 https://qmuitea

Muduo 網路程式設計示例之:用 Timing wheel 踢掉空閒連線

Muduo 網路程式設計示例之八:Timing wheel 踢掉空閒連線 陳碩 (giantchen_AT_gmail) 這是《Muduo 網路程式設計示例》系列的第八篇文章,原計劃講檔案傳輸,這裡插入一點計劃之外的內容。 本文介紹如何使用 timing wheel 來踢

Python3常用網路程式設計模組介紹

一、網路基礎    網路由下往上分為:物理層、資料鏈路層、網路怪、傳輸層、會話層、表示層和應用層。    TCP/IP協議是傳輸層協議,主要解決資料如何在網路中傳輸;socket則是對TCP/IP協議的封裝,它本身不是協議,而是一個呼叫介面;    HTTP、FTP是應用協議,主要解決如何包裝資料;TC

C#網路程式設計系列文章()之UdpClient實現同步UDP伺服器

原創性宣告 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 轉載請註明出處 文章系列目錄 本文介紹 UdpClient 類在同步阻塞模式中為傳送和接收無連線的 U

Java網路程式設計框架

 自從JDK1.4中有了NIO以後,這個方面越來越活躍,也為java贏得更多開發者的支援。做java網路程式設計需要掌握一些基本的知識和技能:套接字程式設計、阻塞/非阻塞通訊、建立HTTP伺服器與客戶程式、資料報通訊、物件的序列化與反序列化、Java反射機制、RMI框架、J

[Linux][入門系列]Linux&Mac網路工具全解(持續更新

當你安裝了一個Linux虛擬機器,或者從雲服務那買了個伺服器,我們首先要知道的,就是網路狀況如何,所以我們偶爾會使用一些工具測試網路狀況,或者使用一些工具來使我們的Linux處於網路中更為安全。今天我們將介紹一些網路工具。 一、Ping出一個天地 最常用的恐