本博客 貓叔的博客,轉載請申明出處git
閱讀本文約 「4分鐘」github
適讀人羣:同窗架構
這裏咱們使用一個內嵌的永久循環,來讓Socket成爲一個非阻塞的通訊流程。socket
如上圖所示,ServerSocket是咱們自建的一個類,經過啓動線程,且線程內置一個真循環,防止accept阻塞;oop
在客戶端監聽類上,將監聽到的socket做爲參數,傳遞到客戶端監聽類上,並再次啓動線程,獲取一個InputStream,同時再次在這個剛剛啓動線程內置一個真循環,爲的是不斷獲取信息並回寫;學習
這裏要注意的是,第一個真循環是保證獲取新鏈接不會阻塞,第二個真循環是保證不停的獲取客戶端信息並回寫;線程
關於客戶端則經過端口和IP,啓動線程,經過一個循環不停的向服務端寫數據;架構設計
基於上面的圖,咱們也能夠學習Netty相關的基礎入門。設計
一、新鏈接接入3d
二、鏈接上的數據讀取
Socket、SocektChannel(IO\NIO)抽象
讀寫數據期間的業務層
多個ChannelHandler組成,讓消息能夠層層處理
基本的數據處理基於ByteBu
學習交流羣:728698035
現架構設計(碼農)兼創業技術顧問,不羈平庸,熱愛開源,雜談程序人生與不按期乾貨。