System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據通訊,尤其涉及一種通訊方法、服務端、客戶端、通訊系統及存儲介質。
技術介紹
1、在工業應用場景,特別是視覺應用場景中,要求能從plc程序中快速獲取大量數據,即要求實現高速通訊。目前,工業應用場景下的跨進程通訊實現方式中,tcp/udp方式采用opc、eip等協議封裝,能夠跨設備遠程訪問,但該tcp/udp方式的通訊質量受網絡環境波動影響,存在速度低和延時大的問題。
技術實現思路
1、本申請的主要目的在于:提供一種通訊方法、服務端、客戶端、通訊系統及存儲介質,旨在解決相關技術中通訊存在速度低和延時大的技術問題。
2、為實現上述目的,本申請采用如下技術方案:
3、第一方面,本申請提供了一種通訊方法,應用于服務端,服務端通過通訊區域與多個客戶端連接,通訊區域包括一個連接注冊區和多個通訊通道區;方法包括:
4、當連接注冊區接收到通訊連接請求時,從多個通訊通道區中確定目標通道區;其中,通訊連接請求基于多個客戶端響應于用戶指令執行搶鎖操作后,由搶鎖成功的客戶端發送,目標通道區為處于空閑狀態的通訊通道區;
5、建立通過多個目標通道區與對應的多個客戶端通訊的連接關系;
6、基于連接關系,與多個客戶端進行數據通訊。
7、可選地,上述通訊方法中,當連接注冊區接收到通訊連接請求時,從多個通訊通道區中確定目標通道區的步驟包括:
8、當連接注冊區接收到通訊連接請求時,獲取多個通訊通道區的工作狀態;
10、若多個通訊通道區中不存在處于空閑狀態的通訊通道區,生成反饋信息,并將反饋信息發送給客戶端。
11、可選地,上述通訊方法中,建立通過多個目標通道區與對應的多個客戶端通訊的連接關系的步驟包括:
12、獲取目標通道區的標識信息;
13、通過連接注冊區將標識信息發送給對應的客戶端,使客戶端在接收到標識信息時,執行釋放鎖操作,以使其他客戶端發送通訊連接請求到連接注冊區;
14、確定各客戶端對應的目標通道區,得到多個目標通道區;
15、建立通過多個目標通道區與對應的多個客戶端通訊的連接關系。
16、可選地,上述通訊方法中,基于連接關系,與多個客戶端進行數據通訊的步驟包括:
17、生成請求數據包,請求數據包包括請求數據和通道狀態;
18、將請求數據包存入目標通道區,并置位通道狀態,使目標通道區對應的客戶端根據通道狀態識別到有數據傳輸時生成反饋數據包,并根據請求數據進行命令執行操作得到結果數據包,以及將反饋數據包和結果數據包存入目標通道區;其中,結果數據包包括執行結果數據和應答信息;
19、當根據應答信息識別到命令執行操作成功,從目標通道區獲取執行結果數據,并復位通道狀態。
20、可選地,上述通訊方法中,基于連接關系,與多個客戶端進行數據通訊的步驟包括:
21、對多個目標通道區進行掃描;其中,各目標通道區中存有對應的客戶端生成并存入的請求數據包,請求數據包包括請求數據和通道狀態;
22、當根據通道狀態識別到有數據傳輸時生成反饋數據包;其中,通道狀態由第一客戶端進行置位;
23、根據第一客戶端對應的第一目標通道區中請求數據包的請求數據進行命令執行操作,得到結果數據包;其中,結果數據包包括執行結果數據和應答信息;
24、將反饋數據包和結果數據包存入第一目標通道區,使第一客戶端根據應答信息識別到命令執行操作成功,從第一目標通道區獲取執行結果數據,實現服務端與第一客戶端的數據通訊,并復位通道狀態;
25、返回當根據通道狀態識別到有數據傳輸時生成反饋數據包的步驟,重復上述過程,以使第二客戶端置位通道狀態后,從第二客戶端對應的第二目標通道區獲取執行結果數據,實現服務端與第二客戶端的數據通訊,并復位通道狀態。
26、第二方面,本申請提供了一種通訊方法,應用于客戶端,多個客戶端通過通訊區域與服務端連接,通訊區域包括一個連接注冊區和多個通訊通道區;方法包括:
27、獲取用戶指令;
28、響應于用戶指令執行搶鎖操作;
29、當搶鎖成功時,發送通訊連接請求給連接注冊區,使服務端從多個通訊通道區中確定目標通道區;其中,目標通道區為處于空閑狀態的通訊通道區;
30、建立通過目標通道區與服務端通訊的連接關系;
31、基于連接關系,與服務端進行數據通訊。
32、第三方面,本申請提供了一種服務端,該服務端包括處理器和存儲器,存儲器上存儲有通訊程序,通訊程序被處理器執行時,實現如上述的通訊方法。
33、第四方面,本申請提供了一種客戶端,該客戶端包括處理器和存儲器,存儲器上存儲有通訊程序,通訊程序被處理器執行時,實現如上述的通訊方法。
34、第五方面,本申請提供了一種通訊系統,該系統包括:
35、如上述的服務端;
36、多個如上述的客戶端;
37、其中,服務端通過通訊區域與多個客戶端連接,通訊區域包括一個連接注冊區和多個通訊通道區。
38、第六方面,本申請提供了一種計算機可讀存儲介質,該存儲介質上存儲有計算機程序,該計算機程序被一個或多個處理器執行時,實現如上述的通訊方法。
39、本申請提供的上述一個或多個技術方案,可以具有如下優點或至少實現了如下技術效果:
40、本申請提出的一種通訊方法、服務端、客戶端、通訊系統及存儲介質,服務端通過通訊區域與多個客戶端連接,通訊區域包括一個連接注冊區和多個通訊通道區;多個客戶端響應于用戶指令執行搶鎖操作后,由搶鎖成功的客戶端發送通訊連接請求給連接注冊區,當連接注冊區接收到通訊連接請求時,服務端從多個通訊通道區中確定處于空閑狀態的通訊通道區為目標通道區,然后建立通過多個目標通道區與對應的多個客戶端通訊的連接關系,以基于該連接關系實現服務端與多個客戶端的數據通訊,從而實現處于同一設備的不同系統或者同一網絡的不同設備之間進行數據通訊的目的;本申請中,客戶端與服務端共享通訊區域,通過獨立的連接注冊區建立服務端與各客戶端的長連接通訊關系,且各客戶端通過對應的通訊通道區與服務端通訊,不僅可以基于多連接關系執行多線程通訊,還可以避免多個客戶端對通訊區域的資源競爭,改進服務端與客戶端之間的通訊效率,從而提升了通訊速度和設備穩定性;而且,通過客戶端和服務端對通訊區域的讀寫實現通訊,不依賴網絡環境,在大數據量的場景下,客戶端通過直接訪問通訊通道區,將數據存入通訊通道區時,可以一次性發包,降低了通訊延時。
本文檔來自技高網...【技術保護點】
1.一種通訊方法,其特征在于,應用于服務端,所述服務端通過通訊區域與多個客戶端連接,所述通訊區域包括一個連接注冊區和多個通訊通道區;所述方法包括:
2.如權利要求1所述的通訊方法,其特征在于,所述當所述連接注冊區接收到通訊連接請求時,從多個所述通訊通道區中確定目標通道區的步驟包括:
3.如權利要求1所述的通訊方法,其特征在于,所述建立通過多個所述目標通道區與對應的多個所述客戶端通訊的連接關系的步驟包括:
4.如權利要求1所述的通訊方法,其特征在于,所述基于所述連接關系,與多個所述客戶端進行數據通訊的步驟包括:
5.如權利要求1所述的通訊方法,其特征在于,所述基于所述連接關系,與多個所述客戶端進行數據通訊的步驟包括:
6.一種通訊方法,其特征在于,應用于客戶端,多個所述客戶端通過通訊區域與服務端連接,所述通訊區域包括一個連接注冊區和多個通訊通道區;所述方法包括:
7.一種服務端,其特征在于,所述服務端包括處理器和存儲器,所述存儲器上存儲有通訊程序,所述通訊程序被所述處理器執行時,實現如權利要求1至5任一項所述的
8.一種客戶端,其特征在于,所述客戶端包括處理器和存儲器,所述存儲器上存儲有通訊程序,所述通訊程序被所述處理器執行時,實現如權利要求6所述的通訊方法。
9.一種通訊系統,其特征在于,所述系統包括:
10.一種計算機可讀存儲介質,其特征在于,所述存儲介質上存儲有計算機程序,所述計算機程序被一個或多個處理器執行時,實現如權利要求1至6中任一項所述的通訊方法。
...【技術特征摘要】
1.一種通訊方法,其特征在于,應用于服務端,所述服務端通過通訊區域與多個客戶端連接,所述通訊區域包括一個連接注冊區和多個通訊通道區;所述方法包括:
2.如權利要求1所述的通訊方法,其特征在于,所述當所述連接注冊區接收到通訊連接請求時,從多個所述通訊通道區中確定目標通道區的步驟包括:
3.如權利要求1所述的通訊方法,其特征在于,所述建立通過多個所述目標通道區與對應的多個所述客戶端通訊的連接關系的步驟包括:
4.如權利要求1所述的通訊方法,其特征在于,所述基于所述連接關系,與多個所述客戶端進行數據通訊的步驟包括:
5.如權利要求1所述的通訊方法,其特征在于,所述基于所述連接關系,與多個所述客戶端進行數據通訊的步驟包括:
6.一種通訊方法...
【專利技術屬性】
技術研發人員:官昊銳,
申請(專利權)人:深圳市匯川技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。