有能夠提供所述服務(wù)類型的第二客戶端; 如果不存在所述會話表項,創(chuàng)建與所述詢問報文相匹配的會話表項,啟動與所述會話表項相對應(yīng)的定時器。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收來自第一客戶端的詢問報文之后,所述方法還包括: 確定所述詢問報文中的問題字段是否為空; 如果為空,丟棄所述詢問報文; 如果不為空,從所述詢問報文中解析所述第一客戶端的服務(wù)資源,執(zhí)行所述根據(jù)所述服務(wù)類型從服務(wù)資源列表中確定是否有能夠提供所述服務(wù)類型的第二客戶端的步驟。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收來自第一客戶端的詢問報文之后,所述方法還包括: 確定所述詢問報文中的應(yīng)答字段是否為空; 如果為空,從所述詢問報文中解析所述第一客戶端的服務(wù)類型,執(zhí)行所述根據(jù)所述服務(wù)類型從服務(wù)資源列表中確定是否有能夠提供所述服務(wù)類型的第二客戶端的步驟; 如果不為空,從所述應(yīng)答字段中解析所述第一客戶端能夠提供的服務(wù)資源; 根據(jù)所述第一客戶端能夠提供的服務(wù)資源更新所述服務(wù)資源列表。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述第一客戶端能夠提供的服務(wù)資源更新所述服務(wù)資源列表,包括: 確定所述服務(wù)資源列表中是否已記錄所述第一客戶端能夠提供的服務(wù)資源; 如果已記錄所述第一客戶端能夠提供的服務(wù)資源,更新所述第一客戶端能夠提供的服務(wù)資源的生存時長; 如果未記錄所述第一客戶端能夠提供的服務(wù)資源,在所述服務(wù)資源列表中為所述第一客戶端能夠提供的服務(wù)資源創(chuàng)建相對應(yīng)的資源記錄。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 如果所述服務(wù)資源列表中不存在能夠提供所述服務(wù)類型的所述第二客戶端,向所述路由器所在的局域網(wǎng)內(nèi)組播發(fā)送所述詢問報文; 接收來自所述局域網(wǎng)內(nèi)的第三客戶端根據(jù)所述詢問報文返回的第二響應(yīng)報文; 如果從所述第二響應(yīng)報文中解析出符合所述第一客戶端需要的服務(wù)類型,向所述第一客戶端單播發(fā)送第二響應(yīng)報文,所述第二響應(yīng)報文攜帶所述第三客戶端的第二網(wǎng)絡(luò)地址,以供所述第一客戶端通過所述第二網(wǎng)絡(luò)地址建立與所述第三客戶端的通信連接。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述接收來自所述局域網(wǎng)內(nèi)的第三客戶端根據(jù)所述詢問報文返回的第二響應(yīng)報文之后,所述方法還包括: 確定所述第二響應(yīng)報文中的應(yīng)答字段是否為空; 如果為空,丟棄所述第二響應(yīng)報文; 如果不為空,從所述第二響應(yīng)報文的應(yīng)答字段中解析出所述第三客戶端所提供的服務(wù)資源。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括: 確定所述服務(wù)資源列表中是否已記錄所述第三客戶端能夠提供的服務(wù)資源; 如果已記錄所述第三客戶端能夠提供的服務(wù)資源,更新所述第三客戶端能夠提供的服務(wù)資源的生存時長; 如果未記錄所述第三客戶端能夠提供的服務(wù)資源,在所述服務(wù)資源列表中為所述第三客戶端能夠提供的服務(wù)資源創(chuàng)建相對應(yīng)的資源記錄。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 確定所述服務(wù)資源列表中所記錄的各個客戶端的服務(wù)資源對應(yīng)的生存時長; 根據(jù)所述生存時長和定時器所記錄的在所述服務(wù)資源列表中的已過時長確定是否需要向所述各個客戶端發(fā)送詢問請求,以確定所述各個客戶端是否仍能夠提供所述服務(wù)資源列表中所記錄的服務(wù)類型。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述方法還包括: 對于根據(jù)所述詢問消息返回響應(yīng)消息的客戶端,在所述服務(wù)資源列表中更新所述返回響應(yīng)消息的客戶端對應(yīng)的生命時長; 對于根據(jù)所述詢問消息未返回響應(yīng)消息的客戶端,將所述未返回響應(yīng)消息的客戶端在所述服務(wù)資源列表中所記錄的資源信息刪除。
12.—種在客戶端之間建立通信連接的裝置,應(yīng)用在路由器上,其特征在于,所述裝置包括: 接收模塊,被配置為接收來自第一客戶端的詢問報文,所述詢問報文中攜帶有所述第一客戶端需要的服務(wù)類型; 第一確定模塊,被配置為從服務(wù)資源列表中確定是否存在能夠提供所述接收模塊接收到的所述詢問報文中攜帶的所述服務(wù)類型的第二客戶端; 第一發(fā)送模塊,被配置為如果所述第一確定模塊確定存在能夠提供所述服務(wù)類型的所述第二客戶端,向所述第一客戶端單播發(fā)送第一響應(yīng)報文,所述第一響應(yīng)報文攜帶有所述第二客戶端的第一網(wǎng)絡(luò)地址,以供所述第一客戶端通過所述第一網(wǎng)絡(luò)地址建立與所述第二客戶端的通信連接。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 第二確定模塊,被配置為在所述接收模塊接收來自第一客戶端的詢問報文之后,確定所述服務(wù)類型是否符合為所述第一客戶端設(shè)置的訪問權(quán)限; 如果所述第二確定模塊確定符合所述訪問權(quán)限,所述第一確定模塊執(zhí)行所述根據(jù)所述服務(wù)類型從服務(wù)資源列表中確定是否有能夠提供所述服務(wù)類型的第二客戶端的步驟; 第一丟棄模塊,被配置為如果所述第二確定模塊不符合所述訪問權(quán)限,丟棄所述詢問報文。
14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 查詢模塊,被配置為在所述接收模塊接收來自第一客戶端的詢問報文之后,從詢問會話表中查詢是否存在與所述詢問報文相匹配的會話表項; 更新模塊,被配置為如果所述查詢模塊查詢到存在所述會話表項,更新與所述會話表項相對應(yīng)的定時器,所述第一確定模塊執(zhí)行所述根據(jù)所述服務(wù)類型從服務(wù)資源列表中確定是否有能夠提供所述服務(wù)類型的第二客戶端; 第一創(chuàng)建模塊,被配置為如果所述查詢模塊查詢到不存在所述會話表項,創(chuàng)建與所述詢問報文相匹配的會話表項,啟動與所述會話表項相對應(yīng)的定時器。
15.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 第三確定模塊,被配置為在所述接收模塊接收來自第一客戶端的詢問報文之后,確定所述詢問報文中的問題字段是否為空; 第二丟棄模塊,被配置為如果所述第三確定模塊確定所述詢問報文中的問題字段為空,丟棄所述詢冋報文; 第一解析模塊,被配置為如果所述第三確定模塊確定所述詢問報文中的問題字段不為空,從所述詢問報文中解析所述第一客戶端的服務(wù)類型,所述第一確定模塊執(zhí)行所述根據(jù)所述服務(wù)類型從服務(wù)資源列表中確定是否有能夠提供所述服務(wù)類型的第二客戶端的步驟。
16.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 第四確定模塊,被配置為所述接收模塊接收來自第一客戶端的詢問報文之后,確定所述詢問報文中的應(yīng)答字段是否為空; 第二解析模塊,被配置為如果所述第四確定模塊確定所述詢問報文中的應(yīng)答字段為空,從所述詢問報文中解析所述第一客戶端的服務(wù)資源,所述第一確定模塊執(zhí)行所述根據(jù)所述服務(wù)類型從服務(wù)資源列表中確定是否有能夠提供所述服務(wù)類型的第二客戶端的步驟; 第三解析模塊,被配置為如果所述第四確定模塊確定所述詢問報文中的應(yīng)答字段不為空,從所述應(yīng)答字段中解析所述第一客戶端能夠提供的服務(wù)資源; 第一更新模塊,被配置為根據(jù)所述第三解析模塊解析出的所述第一客戶端能夠提供的服務(wù)資源更新所述服務(wù)資源列表。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述第一更新模塊包括: 確定子模塊,被配置為確定所述服務(wù)資源列表中是否已記錄所述第三解析模塊解析出的所述第一客戶端能夠提供的服務(wù)資源; 更新子模塊,被配置為如果所述確定子模塊確定已記錄所述第一客戶端能夠提供的服務(wù)資源,更新所述第一客戶端能夠提供的服務(wù)資源的生存時長; 創(chuàng)建子模塊,被配置為如果所述確定子模塊確定未記錄所述第一客戶端能夠提供的服務(wù)資源,在所述服務(wù)資源列表中為所述第一客戶端能夠提供的服務(wù)資源創(chuàng)建相對應(yīng)的資源記錄。
18.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 第二發(fā)送模塊,被配置為如果所述第一確定模塊確定所述服務(wù)資源列表中不存在能夠提供所述服務(wù)類型的所述第二客戶端,向所述路由器所在的局域網(wǎng)內(nèi)組播發(fā)送所述詢問報文; 第二接收模塊,被配置為接收來自所述局域網(wǎng)內(nèi)的第三客戶端根據(jù)所述第二發(fā)送模塊發(fā)送的所述詢問報文返回的第二響應(yīng)報文; 第三發(fā)送模塊,被配置為如果從所述第二接收模塊接收到的所述第二響應(yīng)報文中解析出符合所述第一客戶端需要的服務(wù)類型,向所述第一客戶端單播發(fā)送第二響應(yīng)報文,所述第二響應(yīng)報文攜帶所述第三客戶端的第二網(wǎng)絡(luò)地址,以供所述第一客戶端通過所述第二網(wǎng)絡(luò)地址建立與所述第三客戶端的通信連接。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述裝置還包括: 第五確定模塊,被配置為所述第二接收模塊接收到來自所述局域網(wǎng)內(nèi)的第三客戶端根據(jù)所述詢問報文返回的第二響應(yīng)報文之后,確定所述第二響應(yīng)報文中的應(yīng)答字段是否為空; 第三丟棄模塊,被配置為如果所述第五確定模塊確定所述第二響應(yīng)報文中的應(yīng)答字段為空,丟棄所述第二響應(yīng)報文; 第四解析模塊,被配置為如果所述第五確定模塊確定所述第二響應(yīng)報文中的應(yīng)答字段不為空,從所述第二響應(yīng)報文的應(yīng)答字段中解析出所述第三客戶端所提供的服務(wù)資源。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述裝置還包括: 第六確定模塊,被配置為確定所述服務(wù)資源列表中是否已記錄所述第三客戶端能夠提供的服務(wù)資源; 第二更新模塊,被配置為如果所述第六確定模塊確定已記錄所述第三客戶端能夠提供的服務(wù)資源,更新所述第三客戶端能夠提供的服務(wù)資源的生存時長; 第二創(chuàng)建模塊,被配置為如果所述第六確定模塊確定未記錄所述第三客戶端能夠提供的服務(wù)資源,在所述服務(wù)資源列表中為所述第三客戶端能夠提供的服務(wù)資源創(chuàng)建相對應(yīng)的資源記錄。
21.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 第七確定模塊,被配置為確定所述服務(wù)資源列表中所記錄的各個客戶端的服務(wù)資源對應(yīng)的生存時長; 第八確定模塊,被配置為根據(jù)所述第七確定模塊確定的所述生存時長和定時器所記錄的在所述服務(wù)資源列表中的已過時長確定是否需要向所述各個客戶端發(fā)送詢問請求,以確定所述各個客戶端是否仍能夠提供所述服務(wù)資源列表中所記錄的服務(wù)類型。
22.根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述裝置還包括: 第三更新模塊,被配置為對于根據(jù)所述詢問消息返回響應(yīng)消息的客戶端,在所述服務(wù)資源列表中更新所述返回響應(yīng)消息的客戶端對應(yīng)的生命時長; 刪除模塊,被配置為對于根據(jù)所述詢問消息未返回響應(yīng)消息的客戶端,將所述未返回響應(yīng)消息的客戶端在所述服務(wù)資源列表中所記錄的資源信息刪除。
23.一種路由器,其特征在于,所述路由器包括: 處理器; 用于存儲處理器可執(zhí)行指令的存儲器; 其中,所述處理器被配置為: 接收來自第一客戶端的詢問報文,所述詢問報文中攜帶有所述第一客戶端需要的服務(wù)類型; 從服務(wù)資源列表中確定是否有能夠提供所述服務(wù)類型的第二客戶端; 如果存在能夠提供所述服務(wù)類型的所述第二客戶端,向所述第一客戶端單播發(fā)送第一響應(yīng)報文,所述第一響應(yīng)報文攜帶有所述第二客戶端的第一網(wǎng)絡(luò)地址,以供所述第一客戶端通過所述第一網(wǎng)絡(luò)地址建立與所述第二客戶端的通信連接。
【專利摘要】本公開是關(guān)于一種在客戶端之間建立通信連接的方法、裝置及路由器,用以簡化客戶端查詢服務(wù)的流程。所述方法包括:接收來自第一客戶端的詢問報文,所述詢問報文中攜帶有所述第一客戶端需要的服務(wù)類型;從服務(wù)資源列表中確定是否存在能夠提供所述服務(wù)類型的第二客戶端;如果存在能夠提供所述服務(wù)類型的所述第二客戶端,向所述第一客戶端單播發(fā)送第一響應(yīng)報文,所述第一響應(yīng)報文攜帶有所述第二客戶端的第一網(wǎng)絡(luò)地址,以供所述第一客戶端通過所述第一網(wǎng)絡(luò)地址建立與所述第二客戶端的通信連接。本公開技術(shù)方案可以通過路由器替第二客戶端代答響應(yīng)報文,因此使第一客戶端與第二客戶端建立通信連接的流程縮短了一半,減短客戶端查詢服務(wù)的流程。
【IPC分類】H04L29-06
【公開號】CN104618394
【申請?zhí)枴緾N201510091895
【發(fā)明人】劉佳
【申請人】小米科技有限責(zé)任公司
【公開日】2015年5月13日
【申請日】2015年2月28日