短連線
長連線inetaddress類 --> 只表示位址(主機)
inetsocketaddress類 --> 主機名+埠
netoworkinte***ce類
服務端、客戶端、通訊程式設計關注的三件事
提供服務的稱為服務端
連線服務的稱為客戶端
某個類有server、serversocket,那麼這個類往往是給服務端使用的
serversocket只是個容器,容納網路服務用的
某個類只有socket,一般是負責具體的網路讀寫
網路程式設計中一定要關注的點
之前上述三個服務全是單執行緒執行,當呼叫服務的使用者數很大時,就不能充分發揮併發程式設計的高效,因此考慮將三個服務拆分,都分別由單獨的執行緒來執行
進一步把不同的服務部署到不同的伺服器上,而且每個服務是通過伺服器集群的形式來部署,從而形成了分布式的架構
客戶端存根–server stub
服務端存根–client stub
總結rpc究竟在上面協議分層的哪一層?
**問題
序列化問題
服務例項化
測試1測試2smsrpcserver
sendsmsimpl—具體的服務實現類啟動服務端
客戶端測試方法registercenter
測試使用服務註冊中心
修改響應的服務提供者
registerservicewithregcenter
修改rpcserverframe
provider: 暴露服務的服務提供方。
consumer: 呼叫遠端服務的服務消費方。
registry: 服務註冊與發現的註冊中心。
monitor: 統計服務的呼叫次調和呼叫時間的監控中心。
container: 服務執行容器。
網路程式設計總結 3
iphone的cfnetwork程式設計比較艱深。我選擇使用asyncsocket開源庫來開發,下面介紹一些簡單的使用,並給出我寫的乙個簡單的實現模板,只要新增自己的處理 就可以使用了。官方 一.專案新增asyncsocket 2.把asyncsocket庫原始碼加入專案 3.在專案增加cfnetw...
網路程式設計3要素
a ip位址 標示我們計算機在網際網路上的位置 b 埠號 標示我們的計算機中的應用程式的 c 協議 資料的傳輸規則 ip位址的由來,我們都計算機只能識別二進位制資料,那麼ip位址應該 也是乙個二進位制資料,它是乙個32的二進位制資料 比如 00000100 00000110 00000111 000...
C 網路程式設計(3)
重點內容 epolloneshot模式 即使我們使用et模式,乙個socket上的某個事件還是可能被觸發多次。這在併發程式中就會引起乙個問題。比如乙個執行緒 或程序,下同 在讀取完某個socket上的資料後開始處理這些資料,而在資料的處理過程中該socket上又有新資料可讀 epollin再次被觸發...