天天看點

阿裡P8架構師教你Netty源碼面試解析實戰(二)- 基本元件(上)1 傳統socket網絡程式設計

1 傳統socket網絡程式設計

1.1 實戰

  • 服務端:ServerBoot
  • 阿裡P8架構師教你Netty源碼面試解析實戰(二)- 基本元件(上)1 傳統socket網絡程式設計
    Server
  • 阿裡P8架構師教你Netty源碼面試解析實戰(二)- 基本元件(上)1 傳統socket網絡程式設計
  • ClientHandler
  • 阿裡P8架構師教你Netty源碼面試解析實戰(二)- 基本元件(上)1 傳統socket網絡程式設計
  • 用戶端:Client
  • 阿裡P8架構師教你Netty源碼面試解析實戰(二)- 基本元件(上)1 傳統socket網絡程式設計
  • 先後啟動 

    ServerBoot

    Client

    ,分别輸出如下:
  • 阿裡P8架構師教你Netty源碼面試解析實戰(二)- 基本元件(上)1 傳統socket網絡程式設計
  • 阿裡P8架構師教你Netty源碼面試解析實戰(二)- 基本元件(上)1 傳統socket網絡程式設計

1.2 傳統HTTP伺服器原理

  1. 建立一個

    ServerSocket

  2. 監聽并綁定一個端口一系列用戶端來請求這個端口伺服器使用Accept,獲得一個來自用戶端的Socket連接配接對象
  3. 啟動一個新線程處理連接配接讀Socket,
    • 得到位元組流解碼協定
    • 得到Http請求對象處理Http請求
    • 得到一個結果
    • 封裝成一個HttpResponse對象編碼協定
    • 将結果序列化位元組流寫Socket,
    • 将位元組流發給用戶端
  • 繼續循環步驟3

1.3 C/S 互動流程

阿裡P8架構師教你Netty源碼面試解析實戰(二)- 基本元件(上)1 傳統socket網絡程式設計