protobuf是谷歌的Protocol Buffers的簡稱,用於結構化數據和字節碼之間互相轉換(序列化、反序列化),一般應用於網絡傳輸,可支持多種編程語言。 protobuf如何使用這里不再介紹,本文主要介紹在MINA、Netty、Twisted中如何使用protobuf,不了解 ...
什么是SSL TLS 不使用SSL TLS的網絡通信,一般都是明文傳輸,網絡傳輸內容在傳輸過程中很容易被竊聽甚至篡改,非常不安全。SSL TLS協議就是為了解決這些安全問題而設計的。SSL TLS協議位於TCP IP協議之上,各個應用層協議之下,使網絡傳輸的內容通過加密算法加密,並且只有服務器和客戶端可以加密解密,中間人即使抓到數據包也無法解密獲取傳輸的內容,從而避免安全問題。例如廣泛使用的HTT ...
2017-02-27 16:08 4 1333 推薦指數:
protobuf是谷歌的Protocol Buffers的簡稱,用於結構化數據和字節碼之間互相轉換(序列化、反序列化),一般應用於網絡傳輸,可支持多種編程語言。 protobuf如何使用這里不再介紹,本文主要介紹在MINA、Netty、Twisted中如何使用protobuf,不了解 ...
開發過Web應用的同學應該都會使用session。由於HTTP協議本身是無狀態的,所以一個客戶端多次訪問這個web應用的多個頁面,服務器無法判斷多次訪問的客戶端是否是同一個客戶端。有了session就 ...
要想開發一個高性能的TCP服務器,熟悉所使用框架的線程模型非常重要。MINA、Netty、Twisted本身都是高性能的網絡框架,如果再搭配上高效率的代碼,才能實現一個高大上的服務器。但是如果不了解它們的線程模型,就很難寫出高性能的代碼。框架本身效率再高,程序寫的太差,那么服務器整體的性能 ...
HTTP協議應該是目前使用最多的應用層協議了,用瀏覽器打開一個網站就是使用HTTP協議進行數據傳輸。 HTTP協議也是基於TCP協議,所以也有服務器和客戶端。HTTP客戶端一般是瀏覽器,當然還有可能 ...
MINA、Netty、Twisted為什么放在一起學習?首先,不妨先分別看一下它們官方網站對其的介紹: MINA: Apache MINA is a network application framework which helps users develop high performance ...
在TCP連接開始到結束連接,之間可能會多次傳輸數據,也就是服務器和客戶端之間可能會在連接過程中互相傳輸多條消息。理想狀況是一方每發送一條消息,另一方就立即接收到一條,也就是一次write對應一次read。但是,現實不總是按照劇本來走。 MINA官方文檔節選: TCP guarantess ...
Go gRPC 系列: 跟我一起學Go系列:gRPC 攔截器使用 跟我一起學Go系列:gRPC 入門必備 第一篇入門說過 gRPC 底層是基於 HTTP/2 協議的,HTTP 本身不帶任何加密傳輸功能,基於 SSL 的 HTTPS 協議才是加密傳輸。gRPC 使用了 HTTP/2 協議 ...
為了支持 SSL/TLS,Java 提供了 javax.net.ssl API 的類 SslContext 和 SslEngine 使它相對簡單的實現解密和加密。Netty 利用該 API 實現了 ChannelHandler 的子類 SslHandler。下圖為 Sslhandler ...