国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

精品課程網(wǎng)站建設(shè)論文重慶網(wǎng)站seo技術(shù)

精品課程網(wǎng)站建設(shè)論文,重慶網(wǎng)站seo技術(shù),加工網(wǎng)平臺,福田網(wǎng)站建設(shè)seo信科自定義基于TCP的應(yīng)用層通信協(xié)議。實(shí)現(xiàn)客戶端對服務(wù)器的遠(yuǎn)程調(diào)用 編寫服務(wù)器及客戶端代碼 文章目錄 基于TCP的自定義應(yīng)用層協(xié)議一、請求1.請求格式2.創(chuàng)建Request類 二、響應(yīng)1.響應(yīng)格式2.創(chuàng)建Response類 三、客戶端-服務(wù)器交互四、type五、請求payload1.BasicAruguments(方法公共…

自定義基于TCP的應(yīng)用層通信協(xié)議。實(shí)現(xiàn)客戶端對服務(wù)器的遠(yuǎn)程調(diào)用
編寫服務(wù)器及客戶端代碼

文章目錄

  • 基于TCP的自定義應(yīng)用層協(xié)議
    • 一、請求
      • 1.請求格式
      • 2.創(chuàng)建Request類
    • 二、響應(yīng)
      • 1.響應(yīng)格式
      • 2.創(chuàng)建Response類
    • 三、客戶端-服務(wù)器交互
    • 四、type
    • 五、請求payload
      • 1.BasicAruguments(方法公共參數(shù))
      • 2.每個方法的參數(shù)
        • ExchangeDelareArguments
        • ExchangeDeleteArguments
        • QueueDeclareArguments
        • QueueDeleteArguments
        • QueueBindArguments
        • QueueUnbindArguments
        • BasicPublishArguments
        • BasicConsumeArguments
        • BasicAckArguments
    • 六、響應(yīng)payload
      • 1.BasicReturns(返回結(jié)果公共參數(shù))
      • 2.SubscribeReturns
  • 編寫服務(wù)器代碼
      • 一、創(chuàng)建BrokerServer
      • 二、初始化ServerSocket
      • 三、開啟服務(wù)器
      • 四、停止服務(wù)器(便于測試)
      • 五、處理連接
        • 1.讀取請求并解析
        • 2.根據(jù)請求計(jì)算響應(yīng)
        • 3.將響應(yīng)返回給客戶端
        • 4.清除有關(guān)斷開連接的socket對應(yīng)的會話信息
  • 編寫客戶端代碼
    • 一、ConnectionFactory 連接工廠
      • 創(chuàng)建Connection對象
    • 二、Connection 一次TCP連接
      • 1.Connection 屬性
      • 2.初始化
      • 3.寫入請求
      • 4.讀取響應(yīng)
      • 5.創(chuàng)建channel
      • 6.處理響應(yīng)
      • 7.關(guān)閉連接
    • 三、Channel 邏輯上的連接
      • 1.屬性
      • 2.API(遠(yuǎn)程調(diào)用服務(wù)器的)
        • 創(chuàng)建channel
        • 銷毀channel
        • 創(chuàng)建交換機(jī)
        • 刪除交換機(jī)
        • 創(chuàng)建隊(duì)列
        • 刪除隊(duì)列
        • 創(chuàng)建綁定
        • 刪除綁定
        • 發(fā)布消息
        • 訂閱消息
        • 確認(rèn)消息
      • 3.實(shí)現(xiàn)阻塞等待服務(wù)器的響應(yīng)
        • waitResult
        • putResult
  • 編寫Demo
    • 1.生產(chǎn)者客戶端
    • 2.消費(fèi)者客戶端
    • 測試
      • 1. 啟動服務(wù)器
      • 2.啟動生產(chǎn)者
      • 3.啟動消費(fèi)者

基于TCP的自定義應(yīng)用層協(xié)議

一、請求

1.請求格式

在這里插入圖片描述
type:哪個方法
length:payload的長度
payload:調(diào)用的方法的參數(shù)

2.創(chuàng)建Request類

在這里插入圖片描述

二、響應(yīng)

1.響應(yīng)格式

在這里插入圖片描述

type:哪個方法
length:payload的長度
payload:調(diào)用的方法的結(jié)果

2.創(chuàng)建Response類

在這里插入圖片描述

三、客戶端-服務(wù)器交互

在這里插入圖片描述

四、type

  • 0X1 創(chuàng)建channel
  • 0X2 銷毀channel
  • 0X3 創(chuàng)建交換機(jī) exchangeDeclare
  • 0X4 刪除交換機(jī) exchangeDelete
  • 0X5 創(chuàng)建隊(duì)列 queueDeclare
  • 0X6 刪除隊(duì)列 queueDelete
  • 0X7 創(chuàng)建綁定 queueBind
  • 0X8 刪除綁定 queueUnbind
  • 0X9 發(fā)布消息 basicPublish
  • 0Xa 訂閱消息 basicConsume
  • 0xb 確認(rèn)消息 basicAck
  • 0xc 服務(wù)器給客戶端推送消息(響應(yīng)獨(dú)有)

五、請求payload

1.BasicAruguments(方法公共參數(shù))

  • rid(一次請求/響應(yīng))
  • channelId(一次邏輯上的連接)

2.每個方法的參數(shù)

需要繼承BasicArguments

ExchangeDelareArguments

在這里插入圖片描述

ExchangeDeleteArguments

在這里插入圖片描述

QueueDeclareArguments

在這里插入圖片描述

QueueDeleteArguments

在這里插入圖片描述

QueueBindArguments

在這里插入圖片描述

QueueUnbindArguments

在這里插入圖片描述

BasicPublishArguments

在這里插入圖片描述

BasicConsumeArguments

在這里插入圖片描述

BasicAckArguments

在這里插入圖片描述

以ExchangeDeclare方法為例,具體的請求格式如下:
在這里插入圖片描述

六、響應(yīng)payload

1.BasicReturns(返回結(jié)果公共參數(shù))

  • rid (一次請求/響應(yīng))
  • channelId (一次邏輯上的連接)
  • ok (方法運(yùn)行結(jié)果)

以exchangeDeclare為例,具體的響應(yīng)格式:
在這里插入圖片描述
其他的方法返回的響應(yīng)payload都是BasicReturns序列化后的結(jié)果,除了0xc,是響應(yīng)獨(dú)有的。

2.SubscribeReturns

服務(wù)器通過Consumer接口實(shí)現(xiàn)推送消息給客戶端(隊(duì)列收到消息的時候會調(diào)用回調(diào)方法)

在這里插入圖片描述
響應(yīng)具體格式:
在這里插入圖片描述

編寫服務(wù)器代碼

一、創(chuàng)建BrokerServer

在這里插入圖片描述

二、初始化ServerSocket

給Serversocket初始化,監(jiān)聽一個端口
在這里插入圖片描述

三、開啟服務(wù)器

  • 接受客戶端的連接請求
  • 線程池處理連接

在這里插入圖片描述

四、停止服務(wù)器(便于測試)

  • runnable設(shè)置成false
  • 拋棄線程池的所有任務(wù)
  • 關(guān)閉ServerSocket服務(wù)器連接

在這里插入圖片描述

五、處理連接

  • 讀取請求并解析
  • 根據(jù)請求計(jì)算響應(yīng)
  • 將響應(yīng)返回給客戶端
  • 關(guān)閉客戶端連接
  • 清除斷開連接的socket的會話信息(channelId-socket)

在這里插入圖片描述

1.讀取請求并解析

在這里插入圖片描述

2.根據(jù)請求計(jì)算響應(yīng)

在這里插入圖片描述

3.將響應(yīng)返回給客戶端

在這里插入圖片描述

4.清除有關(guān)斷開連接的socket對應(yīng)的會話信息

在這里插入圖片描述

編寫客戶端代碼

一、ConnectionFactory 連接工廠

  • 服務(wù)器地址
  • 創(chuàng)建connecion對象

創(chuàng)建Connection對象

在這里插入圖片描述

二、Connection 一次TCP連接

  • socket對象 socket=new socket(host,port)
  • 多個channel 對象 (創(chuàng)建channel對象)
  • 寫入請求
  • 讀取響應(yīng)
  • 處理響應(yīng)

1.Connection 屬性

在這里插入圖片描述

2.初始化

在這里插入圖片描述

3.寫入請求

在這里插入圖片描述

4.讀取響應(yīng)

在這里插入圖片描述

5.創(chuàng)建channel

在這里插入圖片描述

6.處理響應(yīng)

此處在構(gòu)造方法中,補(bǔ)充創(chuàng)建一個掃描線程,當(dāng)連接未斷開時,不停的掃描(讀取)服務(wù)器返回的響應(yīng)。處理響應(yīng)。
如果是SubScirbleReturns,使用線程池執(zhí)行消費(fèi)者的回調(diào)。
如果是BasicReturns,將響應(yīng)的basicReturns放入對應(yīng)channel的basicReturnsMap中。

在這里插入圖片描述
在這里插入圖片描述

7.關(guān)閉連接

在這里插入圖片描述

三、Channel 邏輯上的連接

  • 對應(yīng)API,實(shí)現(xiàn)客戶端對服務(wù)器的遠(yuǎn)程調(diào)用

1.屬性

在這里插入圖片描述

2.API(遠(yuǎn)程調(diào)用服務(wù)器的)

  • 構(gòu)造請求
  • 寫入請求
  • 阻塞等待服務(wù)器的響應(yīng)結(jié)果

生成rid:
在這里插入圖片描述

創(chuàng)建channel

在這里插入圖片描述

銷毀channel

在這里插入圖片描述

創(chuàng)建交換機(jī)

在這里插入圖片描述

刪除交換機(jī)

在這里插入圖片描述

創(chuàng)建隊(duì)列

在這里插入圖片描述

刪除隊(duì)列

在這里插入圖片描述

創(chuàng)建綁定

在這里插入圖片描述

刪除綁定

在這里插入圖片描述

發(fā)布消息

在這里插入圖片描述

訂閱消息

在這里插入圖片描述

確認(rèn)消息

在這里插入圖片描述

3.實(shí)現(xiàn)阻塞等待服務(wù)器的響應(yīng)

waitResult

根據(jù)rid,在basicReturnsMap集合中找;如果找到了,就返回,找不到阻塞等待。
在這里插入圖片描述

putResult

將rid-basicReturns 放入basicReturnsMap集合中
在這里插入圖片描述

編寫Demo

實(shí)現(xiàn)消息隊(duì)列生產(chǎn)者-消費(fèi)者模型。

1.生產(chǎn)者客戶端

在這里插入圖片描述

2.消費(fèi)者客戶端

在這里插入圖片描述

測試

1. 啟動服務(wù)器

在這里插入圖片描述
在這里插入圖片描述

2.啟動生產(chǎn)者

在這里插入圖片描述

3.啟動消費(fèi)者

在這里插入圖片描述

http://aloenet.com.cn/news/45410.html

相關(guān)文章:

  • 本地網(wǎng)站建設(shè)電話線上營銷課程
  • 晉中網(wǎng)站開發(fā)關(guān)鍵詞智能優(yōu)化排名
  • 申請一個域名可以做多少網(wǎng)站廣東seo外包服務(wù)
  • 專業(yè)網(wǎng)站制作設(shè)計(jì)公司哪家好sem培訓(xùn)班
  • 淄博市臨淄區(qū)建設(shè)局網(wǎng)站哪些網(wǎng)站推廣不收費(fèi)
  • 濰坊專業(yè)空心活塞桿win10優(yōu)化大師有用嗎
  • 天長企業(yè)網(wǎng)站制作軟件開發(fā)公司有哪些
  • 網(wǎng)站被人做跳轉(zhuǎn)了民生熱點(diǎn)新聞
  • app開發(fā)和網(wǎng)站建設(shè)區(qū)別怎么注冊一個自己的網(wǎng)站
  • 怎么用電腦做網(wǎng)站寧波優(yōu)化系統(tǒng)
  • 校園網(wǎng)站建設(shè)的意義百度云官網(wǎng)登錄首頁
  • 深圳微信網(wǎng)站app拉新渠道
  • 做app網(wǎng)站制作上海牛巨微網(wǎng)絡(luò)科技有限公司
  • wordpress動靜分離cdn深圳網(wǎng)站設(shè)計(jì)專業(yè)樂云seo
  • 石家莊學(xué)做網(wǎng)站建設(shè)培訓(xùn)學(xué)校百度關(guān)鍵詞優(yōu)化點(diǎn)擊 教程
  • 網(wǎng)站站內(nèi)鏈接奉化首頁的關(guān)鍵詞優(yōu)化
  • 鄭州專門做網(wǎng)站的公司seo百度關(guān)鍵字優(yōu)化
  • 畢業(yè)設(shè)計(jì)代做淘寶好還是網(wǎng)站好免費(fèi)注冊
  • 網(wǎng)絡(luò)公司+網(wǎng)站建設(shè)+小程序百度企業(yè)官網(wǎng)
  • 承接各類網(wǎng)站建設(shè)關(guān)鍵詞排名代發(fā)
  • 如何建立微網(wǎng)站詳細(xì)步驟廣東公司搜索seo哪家強(qiáng)
  • 佛山新網(wǎng)站制作怎么樣抖音優(yōu)化是什么意思
  • 安徽專業(yè)網(wǎng)站建設(shè)大全推薦寧波seo排名費(fèi)用
  • 公司網(wǎng)站服務(wù)器托管東莞網(wǎng)站排名推廣
  • 企業(yè)網(wǎng)站哪里可以做江西seo推廣方案
  • 煙臺市委網(wǎng)站企業(yè)網(wǎng)站的推廣方法有哪些
  • 酒店為什么做網(wǎng)站軟件外包公司有前途嗎
  • 網(wǎng)站安全檢測軟件網(wǎng)絡(luò)銷售公司怎么運(yùn)作
  • 鄭州易站通網(wǎng)站公司企業(yè)培訓(xùn)的目的和意義
  • 專業(yè)網(wǎng)站制作團(tuán)隊(duì)專業(yè)網(wǎng)站制作團(tuán)隊(duì)友博國際個人中心登錄