2015-09-06 12 views
7

नोट नहीं है अन्य प्रश्न और उत्तर के कोई भी मेरे लिए काम किया है।Socket.configure अपरिभाषित एक समारोह त्रुटि

मैं एक ट्यूटोरियल का अनुसरण कर रहा हूं जिसमें यह होगा कि मेरे पास एक मल्टीप्लेयर गेम हो।


नोट:: मैं सही ढंग से सही निर्देशिका में socket.io डाउनलोड किया वहाँ एक फ़ाइल है, जो मैं डाउनलोड करने के लिए है, जो एक game.js फ़ाइल है कि मैं इस कोड को जोड़ने की आवश्यकता है।

var util = require("util"), 
    io = require("socket.io").listen(80); 

var socket, 
    players; 

function init() { 
    players = []; 
    socket = io.listen(8000); 
    socket.configure(function() { 
     socket.set("transports", ["websocket"]); 
     socket.set("log level", 2); 
    }); 
}; 

init(); 

लेकिन जब मैं नोड चलाने game.js, मैं एक त्रुटि है कि इस तरह दिखता है मिलती है:

नोट: Robhawks-mozzilla-त्योहार-92336f2 फ़ोल्डर फ़ोल्डर है कि यह


में फ़ाइलों के सभी है

socket.configure क्यों गड़बड़ कर रहा है? इसके अलावा, मैं इसे कैसे ठीक कर सकता हूं?

+0

एक ऑनलाइन बहु खिलाड़ी खेल पर इस ट्यूटोरियल है और अधिक अप करने की तारीख: https://blog.slashie.net/2015/09/25/ट्यूटोरियल-मल्टीप्लेयर-रणनीति-गेम-इन-जावास्क्रिप्ट-भाग -1/टिप्पणी-पृष्ठ -1/ –

उत्तर

14

.configure() हटा दिया गया था जब socket.io संस्करण 1.0 पर गया था। मैं अनुमान लगा रहा हूं कि आप जिस ट्यूटोरियल का अनुसरण कर रहे हैं वह पुराने संस्करण (0.9) का उपयोग कर रहा है, लेकिन आपने 1.0 इंस्टॉल किया है।

यह आपके कोड बेस को 1.0 तक ले जाना सबसे अच्छा होगा, क्योंकि यह नवीनतम है।

var socket = require('socket.io')({ 
    transports : [ 'websocket' ], 
    ... 
}); 

अधिक जानकारी here: विन्यास सर्वर प्रारंभ के हिस्से के रूप में किया जाना चाहिए।

हालांकि, चूंकि आप एक ट्यूटोरियल का पालन कर रहे हैं, इसलिए पहले चीजों को प्राप्त करना और socket.io के पुराने संस्करण का उपयोग करना आसान हो सकता है, और एक बार जब आप इसे अपने साथ परिचित कर लेते हैं, तो 1.0 पर जाएं।

$ npm install [email protected] 
+0

सॉकेट.ओ डॉक्स बहुत कम हैं। मैं बंदरगाह और लॉग स्तर कैसे सेट करूं? –

+0

@NitzanWilnai लॉगिंग/डिबगिंग दस्तावेज [यहां] (http://socket.io/docs/logging-and-debugging/) है, और पोर्ट सेट करने पर निर्भर करता है कि आप 'socket.io' कैसे चल रहे हैं (भाग के रूप में Node.js 'http', ... के आधार पर एक एक्सप्रेस ऐप का ...)। – robertklep

1

Looging socket.io v1.0 log-level विकल्प निकाल दिया जाता है: उस मामले में, पुराने संस्करण स्थापित करें। इस प्रकार लॉगिंग के लिए किसी को डीबग मॉड्यूल का उपयोग कर प्रोग्राम शुरू करना होगा।

  1. स्थापित डिबग: npm install debug -S
  2. तो कार्यक्रम चलाने: DEBUG=* node entry_file.js
संबंधित मुद्दे