2010-02-05 9 views
11

मुझे समझ में नहीं आता कि जेएसओएन आरपीसी में आईडी क्या है। साथ ही, टूलकिट विकसित करते समय JSON-RPC.org के मानकों का उपयोग नहीं करना कितना बुरा माना जाता है? JSON-RPC दुनिया में कुछ अस्पष्टता प्रतीत होती है।जेएसओएन आरपीसी - के लिए "आईडी" क्या है?

पीएस आईडी मैं की बात कर रहा हूँ यहाँ में आईडी है:

{"params":["Hello","World"],"method":"hello_world","id":1} 

उत्तर

15

आप अपने जवाब के क्रम में आप उन्हें के लिए कहा में वापस पाने के लिए इसकी गारंटी नहीं कर रहे हैं, आईडी आपको इसे हल करने में मदद करने के लिए है।

+1

ओह, असीमित कॉल के मामले में। यह समझ आता है। – orokusaki

+3

क्या होगा यदि HTTP पर JSON-RPC? आईडी बेकार प्रतीत होता है क्योंकि HTTP अनुरोध-प्रतिक्रिया पैटर्न द्वारा डिज़ाइन किया गया है। –

+0

@JianWeihang विनिर्देश परिवहन-अज्ञेयवादी है। तो हाँ, इसका HTTP अनुरोध पर अधिक उपयोग नहीं होगा जिसमें केवल एक JSON-RPC अनुरोध है। लेकिन यदि यह एक बहु-कॉल JSON-RPC अनुरोध है, तो एक HTTP अनुरोध में, आईडी का उपयोग प्रतिक्रियाओं को सही तरीके से मैप करने के लिए किया जाएगा, क्योंकि वे सभी एक ही HTTP प्रतिक्रिया में भी आएंगे। – tstark81

6

"आईडी" संबंधित प्रतिक्रिया ऑब्जेक्ट में वापस आ गया है, ताकि आप एक संदर्भ को दूसरे संदर्भ में मैप कर सकें।

यदि आप सिंक्रोनस सिंगल कॉल कर रहे हैं, तो यह समझ में नहीं आता है, लेकिन एसिंक बहु-उत्कृष्ट-कॉल वातावरण में यह महत्वपूर्ण है।

इसे 1 तक हार्ड कोड नहीं किया जाना चाहिए, लेकिन क्लाइंट से उत्पन्न हर अनुरोध ऑब्जेक्ट के लिए एक अद्वितीय मान पर सेट होना चाहिए।

0
  1. सर्वर को यह जानने के लिए कि आप एक प्रतिक्रिया की उम्मीद कर रहे हैं।
  2. एसिंक्रोनस या batch calls का उपयोग करते समय अनुरोधों के जवाबों से मेल खाने के लिए।
0

कोई भी जवाब प्रोटोकॉल के दो मौजूदा संस्करणों के बीच अंतर का उल्लेख नहीं करता है।

JSON RPC 1.0:

अनुरोध आईडी। यह किसी भी प्रकार का हो सकता है। इसका उपयोग से अनुरोध करने के अनुरोध के साथ किया जाता है, जिसका जवाब है।

JSON RPC 2.0:

एक पहचानकर्ता ग्राहक है कि एक स्ट्रिंग, संख्या, या शून्य मूल्य शामिल होना चाहिए अगर शामिल द्वारा स्थापित किया गया। यदि इसमें शामिल नहीं है तो इसे अधिसूचना के लिए माना जाता है। मान सामान्य रूप से शून्य नहीं होना चाहिए और संख्याओं में आंशिक भागों नहीं होना चाहिए।

इस प्रकार जेएसओएन आरपीसी 2.0 में कुछ निश्चित मूल्य पर आईडी सेट करने के लिए यह बिल्कुल ठीक है। लेकिन बैच अनुरोधों में आईडी के उपयोग से अवगत रहें।

संबंधित मुद्दे