簡體   English   中英

Python JSON-RPC_2.0 TCP服務器客戶端說明

[英]Python JSON-RPC_2.0 TCP Server Client Explained

當將JSON字符串發送到服務器時,我很難理解TCP服務器/客戶端關系的性質。 我需要的信息可能在那兒,但是我一直在尋找正確的搜索參數。

我已經從以下示例構建了Python TCP,JSON-RPC Server:

在這兩種情況下,我都可以從另一台計算機上的Python控制台與Python服務器通信,將命令從一個(客戶端)發送到另一個(服務器)。 在所有示例中,我都必須在客戶端和服務器計算機上都安裝上述庫,以便於TCP通信。

因此,我的情況和問題的背景是,JSON什么時候進入混合狀態? 這就是我想做的:

設置一個Python TCP服務器,該服務器從網絡內部(或外部)的遠程客戶端接受JSON字符串。 服務器解析JSON字符串,從目標字符串中獲取方法和參數,然后執行該方法。 然后,服務器將JSON字符串結果發送到調用客戶端。 在這種情況下,客戶端是帶有JavaScript庫的移動應用程序(iPad,Android等),我將使用該庫將請求發送到服務器。

為什么需要Python客戶端? 據我所知,客戶端只需要打開與服務器的連接,然后發送JSON字符串,對嗎? 為什么所有代碼​​示例都包含Python客戶端示例? 他們是否假設服務器計算機將要與服務器計算機進行通信,所以他們包含了客戶端代碼以幫助生成將發送到服務器的JSON字符串?

如果我假設確實不需要Python客戶端,那么我一直在從iPad向JSON服務器發送JSON字符串,但是在每種情況下,服務器都報告“錯誤的請求語法”錯誤。 如果我正確理解當前問題,我將在該問題上提出一個新問題。

洞察力受到贊賞。

JSON編碼是RPC協議的通用語言,因此您確實可以使用任何喜歡的客戶端。 您為JSON-RPC找到的實現使用HTTP協議,HTTP協議是基於TCP / IP構建的非常特定的通信協議,但是如果需要,您可以在原始TCP-IP套接字上實現相同的協議。

這些示例包括Python客戶端服務器,因為它們說明了如何在Python中而不是JavaScript或C或Lisp中實現JSON-RPC標准。 他們專注於一種語言的實現。 但是,JSON-RPC標准與語言無關。 只要服務器或客戶端使用相同的標准,無論用哪種語言編寫都無所謂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM