मैं एंड्रॉइड 2.3.5 के लिए एक एप्लिकेशन लिख रहा हूं (जो आईओएस के साथ भी संगत होगा)। मैं ऐप के एचटीएमएल/जावास्क्रिप्ट से सर्वर पर एक पायथन प्रोग्राम में डेटा स्थानांतरित करना चाहता हूं (जो डेटा को पुनर्प्राप्त करने के लिए ट्विस्ट इंजन का उपयोग करता है)।socket.io - संदर्भ त्रुटि: io परिभाषित नहीं किया गया है
मैंने कई चीजों की कोशिश की है और विभिन्न मंचों, उत्तरों, ट्यूटोरियल और वेब पेजों को देखा है - जिनमें से अधिकांश यहां शामिल हैं - और कोई जवाब नहीं मिल रहा है। यहाँ प्रासंगिक जावास्क्रिप्ट मैं अपने index.html फ़ाइल में है:
<script src="socket-lib/socket.io.js"></script>
<script type="text/javascript" charset="utf-8">
function sendData() {
try {
var socket = io.connect('http://mywebsite.com:12345');
socket.on('connect', function(data) {
socket.send('Hello.');
socket.on('message', function (msg) {
socket.send('This is where I send data?');
});
});
}
catch(err) {
alert('ERROR: socket.io encountered a problem:\n\n' + err);
}
} // end of sendData
आपको बता नहीं कर सकते हैं, मैं अभी भी बहुत उलझन में यह कैसे काम करता हूँ, मैं कुछ भी परीक्षण नहीं कर सकता। त्रुटि जो आने वाली है ReferenceError: io is not defined
है। कुछ साइटों ने var io = require('socket.io');
जैसे कुछ का उपयोग किया। लेकिन फिर यह एक ही त्रुटि में परिणाम: ReferenceError: require is not defined
।
मैंने सॉकेट-lib फ़ोल्डर को संपत्ति/www में रखा है, जहां कोई अन्य जावास्क्रिप्ट स्रोत जाना चाहिए। यह वह जगह भी है जहां index.html फ़ाइल है। कई साइटें <script src="/socket.io/socket.io.js"></script>
का उपयोग करती हैं, लेकिन इससे मुझे कोई समझ नहीं आता है। कई साइटें node.js का उपयोग भी करती हैं, लेकिन मैं इसे कहीं भी नहीं देखता हूं।
मैं यह काम कैसे कर सकता हूं?
उत्तर संपादित करता है:
मैं क्रोम में यह कोशिश की, और यह मेरे socket.io.js फ़ाइल के लिए एक Uncaught ReferenceError: require is not defined
दे रहा है। तो मैं इसके ठीक पहले requ.js में स्रोत का फैसला करने का फैसला करता हूं। फिर यह त्रुटि Uncaught Error: Module name "socket.io-client" has not been loaded yet for context
देता है। चूंकि मैं इसका उपयोग नहीं कर रहा हूं, मुझे परवाह नहीं है। जब मैं कनेक्शन का प्रयास करता हूं, हालांकि, यह वही io is not defined
त्रुटि देता है। जब मैं इसे var io = require('socket.io')
के रूप में परिभाषित करता हूं, तो त्रुटि Error: Module name "socket.io" has not been loaded yet for context: _ http://requirejs.org/docs/errors.html#notloaded
है। मैंने वेबसाइट पर देखा, और यह मेरी मदद नहीं करता है। जब मैं फ़ंक्शन तर्क के रूप में "आवश्यकता" डालने का प्रयास करता हूं, तो एक और त्रुटि होती है: TypeError: undefined is not a function
।
मैं किसी हो जाता है, जो बेहद socket.io के दस्तावेज की भयानक कमी से उलझन के लिए, इस सवाल का जवाब मिल गया। आप "/socket-lib/socket.io.js" स्रोत नहीं कर सकते; आपको "http://yourwebsite.com:12345/socket.io/socket.io.js" स्रोत होना चाहिए। सर्वर स्वचालित रूप से आपके लिए बाकी करता है। – Ness
आप मेरे नए पसंदीदा व्यक्ति महोदय हैं! Socket.io पर उनके नमूने बहुत भ्रामक हैं। – Xealgo
प्रलेखन के अनुसार, v1.0 के बाद से आप क्लाइंट लाइब्रेरी को उनके सीडीएन से अनुरोध कर सकते हैं: http: // सॉकेट।आईओ/ब्लॉग/परिचय-सॉकेट-io-1-0/# सीडीएन-डिलीवरी – maxwell2022