2011-12-31 20 views
41

संभव डुप्लिकेट:
socket.io.js not foundनहीं खोजा जा सका socket.io.js

मैं Socket.IO का पुराना संस्करण के लिए सबसे ऊपर का उपयोग कर रहा है और मैं पहली बार कोशिश कर रहा हूँ पृष्ठ का उपयोग करने के तरीके पर उदाहरण, हालांकि, जब मैं '/socket.io/socket.io.js'

फ़ाइल जावास्क्रिप्ट कंसोल कहता है कि फ़ाइल मौजूद नहीं है, तो मुझे कोई त्रुटि मिल रही है। जब मैं अपने ब्राउज़र की जांच करता हूं (http://socket.io/socket.io.js और https://socket.io/socket.io.js दोनों), तो यह वहां नहीं है। दस्तावेज पुराना है? Socket.io.js फ़ाइल कहां है जिसमें मुझे शामिल करना है?

मैं इसे मैक पर चला रहा हूं जिसमें मेरे app.js सर्वर को चलाने वाले नोडजेएस हैं।

मैंने "http://cdn.socket.io/stable/socket.io.js" का उपयोग करने का प्रयास किया है, लेकिन ऐसा लगता है कि यह एक पुराना संस्करण (0.6) है और जावास्क्रिप्ट कंसोल का कहना है कि इसमें "कनेक्ट" फ़ंक्शन नहीं है। (जो अजीब है, मुझे लगता है कि कनेक्ट ऐसी लाइब्रेरी में एक अभिन्न अंग है, लेकिन मुझे नहीं लगता)

उत्तर

64

आपका सॉकेट.आईओ सर्वर सॉकेट.आईओ क्लाइंट लाइब्रेरी के सही संस्करण की सेवा करेगा; आपको इंटरनेट पर कहीं और इस्तेमाल नहीं करना चाहिए। the Socket.IO website पर शीर्ष उदाहरण से:

<script src="/socket.io/socket.io.js"></script> 

यह काम करता है क्योंकि आप Socket.IO में अपने HTTP सर्वर लपेट (How To Use में उदाहरण देखें) और यह /socket.io/socket.io.js के लिए अनुरोध को बीच में रोक और स्वचालित रूप से उचित प्रतिक्रिया भेजता है।

+3

तो यदि सर्वर चल रहा है, तो /socket.io/socket.io.js जादुई रूप से होना चाहिए? शायद मेरे सर्वर के साथ कुछ है, तो मेरे पास यह है: 'node app.js जानकारी - socket.io ने इसलिए मुझे यकीन नहीं है कि और क्या हो रहा है, जावास्क्रिप्ट कंसोल कह रहा है कि वह फ़ाइल अस्तित्व में नहीं है – Esaevian

+0

क्या आप अपना सर्वर और क्लाइंट कोड दिखाना चाहते हैं? या तो कोड ब्लॉक में अपने प्रश्न में जोड़ें, या उन्हें http://gist.github.com/ या http: // पेस्टबिन पर रखें।कॉम और उन्हें अपने प्रश्न में लिंक करें। क्या गलत हो रहा है यह निर्धारित करने के लिए यह बहुत आसान बनाता है। :) –

+4

मैंने पहले उदाहरण से कोड को कॉपी और पेस्ट किया: http://socket.io/#how-to-use हालांकि, मैंने पोर्ट को बदल दिया क्योंकि 'नोड' ने शिकायत की थी कि मैं पहले से ही 80 का उपयोग कर रहा था। बस इसे wirked प्राइमेटोलॉजी के साथ मुझे सॉकेट.io.js कॉल के लिए पोर्ट को बदलना पड़ा, इसलिए लाइन ' होगी वास्तव में ' – Esaevian

0

मुझे पता है कि यह स्पष्ट प्रतीत होता है, लेकिन क्या आपने अपने सर्वर पर सॉकेट.आईओ स्थापित किया है? फिर आपको फ़ाइल की स्थानीय प्रतिलिपि '/socket.io/socket.io.js' पर मिल जाएगी।

npm install socket.io 
+0

मैंने किया। मेरी मशीन पर/socket.io नामक कोई फ़ोल्डर नहीं है। मैं बस "node app.js" चलाने में सक्षम था, और सर्वर चल रहा है। – Esaevian

+1

यह यहां होगा: http://127.0.0.1:1337/socket.io/socket.io.js उस पोर्ट के साथ 1337 को बदलें जिसे आप सुन रहे हैं। – benesch

+0

मुझे बस इतना मिलता है "ओह! Google क्रोम 127.0.0.1:1337 से कनेक्ट नहीं हो सका" – Esaevian

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