原创 Netty源碼分析-ChunkedFile和ChunkedWriteHandler

  /* * Copyright 2012 The Netty Project * * The Netty Project licenses this file to you under the Apache License,

原创 Netty源碼分析-NioEventLoop

  /* * Copyright 2012 The Netty Project * * The Netty Project licenses this file to you under the Apache License,

原创 Netty源碼分析-SingleThreadEventExecutor

  /* * Copyright 2012 The Netty Project * * The Netty Project licenses this file to you under the Apache License,

原创 wireshark無法識別出TSL SSL數據包

最近發現使用wireshark打開HTTPS流量包,在協議部分看不到SSL/TLS,數據流量顯示如下截圖:    

原创 Netty源碼分析-MessageToMessageEncoder

  消息到消息的編碼器 /* * Copyright 2012 The Netty Project * * The Netty Project licenses this file to you under the Apache

原创 Netty源碼分析-AbstractUnsafe(register註冊流程)

  Netty當中的Channel,對外提供的API都封裝再了AbstractUnsafe對象裏面。 我們分析一個新的客戶端連接NioSocketChannel是如何完成註冊的。   一個新的Channel註冊到EventLoop上面,調

原创 Netty源碼分析-AdaptiveRecvByteBufAllocator

這個類的核心目的就是根據從底層socket讀取的字節數量,動態調整分配空間,以及是否繼續從socket讀取字節流   @Override public final void read() {

原创 Netty源碼分析-ChannelInitializer

ChannelInitializer是一個PPLine的初始化工具,可以往PPLine裏面設置Handler。 protected abstract void initChannel(C ch) throws Exception; 我們

原创 Centos6-IPtables配置端口轉發

開啓IP轉發 首先開啓IP轉發功能,默認是關閉的。 臨時修改: # echo 1 >/proc/sys/net/ipv4/ip_forward 修改過後就馬上生效,但如果系統重啓後則又恢復爲默認值0。 永久修改: vi /etc/sysc

原创 以太網數據幀(802.3)最大與最小長度

轉載 https://blog.csdn.net/farmwang/article/details/64131318 以太網(IEEE 802.3)幀格式: 1、前導碼:7字節0x55,一串1、0間隔,用於信號同步 2、幀起始定界符:1字

原创 Netty-源碼分析ByteBuf-readSlice和readRetainedSlice使用細節

返回從當前readerIndex開始的此緩衝區的子區域的新分片,並將readerIndex增加新分片的大小(=長度)。 另請注意,此方法將不會調用retain(),因此不會增加引用計數。   跟slice極爲相似,只是把原始緩衝區的rea

原创 Netty-TCP握手與揮手研究

  客戶端TCP狀態裝換時序圖 服務器端狀態裝換時序圖   package com.ht.web.tcp; import java.io.IOException; import java.net.Socket; import ja

原创 Netty-DirectByteBuffery源碼分析

JVM參數  -XX:MaxDirectMemorySize=1024M  來設置可以使用的堆外內存大小。 代碼中可以使用VM工具類獲取 VM.maxDirectMemory() DirectByteBuffer源碼分析 Direc

原创 Netty-(interestOps & readInterestOp) != 0寫法的意義

//OP_READ = 1 00000001 //OP_WRITE = 4 00000100 //OP_CONNECT = 8 00001000 //OP_ACCEPT = 16 00010000 pro

原创 Netty-源碼分析WeakReference用例

  在研究Netty源碼是大量使用了WeakReference引用,它是一個弱引用對象,當GC發生以後,會根據內存情況回收WeakReference引用的對象,屆時WeakReference這個對象會被加入到隊列中,進行最後的資源清理。