साल पहले मैं विविधता विश्वविद्यालय MOO में एक प्रोग्रामिंग Collaboratory बनाया और एमओओ सहयोगी को परिणाम लौटाएं - सभी एमओओ शिक्षण पर्यावरण में प्रोग्रामिंग भाषाओं का प्रदर्शन करने के लिए। आवेदन आम तौर पर पांच या छह भाषाओं में एक रोम है और साथ खेलने के लिए मजेदार है। अब मैं एलएसएल का उपयोग कर सेकेंड लाइफ में वही काम करना चाहता हूं। एकमात्र सुझाव जो मैंने अभी तक उस भीड़ से प्राप्त किया है, वह एक डब्ल्यूडब्ल्यूडब्ल्यू अनुरोध का उपयोग करना है, संभवतः एक सीजीआई प्रक्रिया में एक http POST संदेश का निर्माण करना। मैंने एचटीएमएल फॉर्मों के लिए बहुत ज्यादा परवाह नहीं की है, इसलिए मैं टीसीपी/आईपी या कुछ अन्य संचार प्रोटोकॉल का उपयोग करूंगा। क्या किसी ने कोशिश की है जो कुछ संकेत प्रदान करने की देखभाल करेगा? सेकेंड लाइफ में कई अच्छी एलएसएल डेमो साइटें हैं लेकिन मैं अन्य कंपाइलर और स्क्रिप्ट भाषाओं, शायद यहां तक कि पावरशेल को भी डेमो करना चाहता हूं। डिक एसLSL संचार
उत्तर
REST अब वेब सेवाओं के लिए फैशन में है। किसी चीज़ के लिए टीसीपी/आईपी परत पर जाने का कोई वास्तविक कारण नहीं है जो आपके विवरण से सुपर प्रदर्शन या प्रतिक्रिया समय की आवश्यकता नहीं है। एलएसएल HTTP समर्थन काफी अच्छा है इसलिए आपको कोई समस्या नहीं होनी चाहिए।
बेशक यह वास्तविक समय में आपके प्रोग्राम का आउटपुट प्राप्त करने के लिए आदर्श नहीं है - इसके लिए आपको सर्वर पर http कनेक्शन खोलना होगा और लगातार पृष्ठ के शरीर को लिखना होगा (क्लाइंट पढ़ेगा उस)। लेकिन सर्वर और क्लाइंट के बीच आगे और आगे जाने के साथ ही आपको मामूली अच्छा अनुभव मिलना चाहिए।
LSL के बाहरी संचार विकल्पों तीन विशिष्ट विकल्पों तक सीमित हैं। आधिकारिक एलएसएल विकी प्रत्येक विकल्प पर अधिक विस्तृत जानकारी प्रदान करता है।
- कच्चे HTTP: अनुरोध LSL स्क्रिप्ट द्वारा शुरू किया जाना चाहिए
- XMLHTTP: अनुरोध बाह्य सेवा द्वारा शुरू किया जाना चाहिए
- ईमेल: पूर्ण दोतरफा संचार, लेकिन लागू की नींद टाइमर के साथ ।
मैं इलिया से सहमत हूं।
यदि आप स्क्रिप्ट को बहुत उत्तरदायी होना चाहते हैं तो सबसे अच्छा आप खींचने में सक्षम हो सकते हैं, सर्वर को एक्सएमएल-आरपीसी का उपयोग करके सर्वर के बारे में जागरूक होने के बाद आपके सर्वर साइड कोड को ऑब्जेक्ट पर वापस कॉल करना है।
दूसरे जीवन के लिए मुख्य विकी नमूना कोड के लिए बहुत अच्छा है, आदि है XML-RPC
LSL के llHTTPRequest समारोह और इसी http_response घटना निश्चित रूप से आपका सर्वश्रेष्ठ दांव हैं।
धारणा के विपरीत अपने प्रश्न में उत्पन्न, http का उपयोग कर "HTML रूपों" का उपयोग कर की जरूरत नहीं है। POST (या PUT) पेलोड में डेटा व्यवस्थित हो सकता है हालांकि आप चाहते हैं। एक आरईएसटी इंटरफ़ेस मशीन-टू-मशीन http संचार के प्रकार के बारे में बात करने का एक अच्छा तरीका है जिसके बारे में हम बात कर रहे हैं। एचटीएमएल या एक्सएमएल पर आरईएसटी का एक फायदा यह है कि आरईएसटी बहुत कम वर्बोज़ हो सकता है। यह महत्वपूर्ण है जब आप http प्रतिक्रियाओं पर एलएसएल की 2048 वर्ण सीमा तक पहुंचना शुरू करते हैं।
हालांकि एलएसएल के पास बाकी इंटरनेट (ईमेल और एक्सएमएल-आरपीसी) के साथ संचार करने के दो अन्य तरीके हैं, एलएसएल स्क्रिप्ट में उनका उपयोग अत्यधिक इन दिनों निराश है। इन प्रणालियों (जैसा कि वर्तमान में दूसरे जीवन में लागू) के दोनों उनके गंतव्यों के लिए संदेश रूट करने के केंद्रीकृत सर्वर पर भरोसा करते हैं। यह अच्छी तरह से स्केल नहीं करता है। इन सर्वर बढ़ती भार के रूप में दूसरे जीवन बढ़ता है के अधीन हैं।दूसरी ओर llHTTPRequest पूरी तरह से आपकी स्क्रिप्ट चलाने वाले सिम्युलेटर पर चलता है, जिसका अर्थ है कि आपको अधिभारित केंद्रीय सर्वरों के कारण संदेशों को खोने की चिंता करने की आवश्यकता नहीं है।
अंत में, एलएसएल में जल्द ही एक नई सुविधा होगी जो किसी भी स्क्रिप्ट को http सर्वर के रूप में कार्य करने की अनुमति देगी (http://wiki.secondlife.com/wiki/LSL_http_server देखें)। यह वर्तमान में (जून 200 9 तक) बीटा ग्रिड पर तैनात है, लेकिन अगले बड़े अपडेट के साथ मुख्य ग्रिड पर होना चाहिए। इस अतिरिक्त के साथ, मौजूदा एलएसएल-टू-वेब प्रोग्रामों में से कई जो नियमित रूप से अपडेट किए गए डेटा के लिए वेब सर्वर को मतदान करते हैं, वे होने पर अपडेट को उनके पास धक्का दे पाएंगे।
जैसा कि इल्या ने कहा, आरईएसटी और एलएसएल-HTTP जाने का रास्ता होगा।
लिंडन स्क्रिप्टिंग भाषा के भीतर JSON का नया कार्यान्वयन उसमें मदद करनी चाहिए। आप आधिकारिक विकी पर Json usage in LSL पृष्ठ पढ़ने के साथ शुरू करना चाहेंगे।