जब मैंने .onopen ईवेंट बनाया, तो मैंने इसे कुछ json डेटा लॉन्च किया, लेकिन मुझे एक त्रुटि मिली, यहाँ कोड है:
ws.onopen = ('connect', function(connect) {
let obj={};
obj.name='data'
message = 'connect';
obj.body=message;
var data = {"op": 0, "d": {"server_id": serverid, "user_id": author, "session_id": sessionid, "token": tokenn, "video": true, "streams": [
{"type": "video", "rid": "100", "quality": -1}, {"type": "video", "rid": "50", "quality": 9223372036854775807}]}}, separators=(",", ":");
ws.send(data.toString())
मुझे क्या मिलता है: नोड: ईवेंट: 368 एरर फेंकें; // हैंडल न किया गया 'त्रुटि' घटना ^
त्रुटि: TLSWrap.onStreamRead पर ECONNRESET पढ़ें (नोड: आंतरिक/stream_base_commons: 220:20) वेबसाकेट उदाहरण पर उत्सर्जित 'त्रुटि' घटना:
2 जवाब
ऑब्जेक्ट को स्ट्रिंग में बदलने के लिए "JSON.stringify (डेटा)" का उपयोग करें
मुझे पूरा यकीन नहीं है कि यह आपकी समस्या है क्योंकि त्रुटि असंबंधित दिखती है।
लेकिन data.toString()
बस "[object Object]"
लौटाएगा। आपको JSON.stringify(data)
का उपयोग करने की आवश्यकता है
ECONNRESET
आमतौर पर इसका मतलब है कि कनेक्शन अप्रत्याशित रूप से बंद हो गया था। हो सकता है कि आपका सर्वर आपका पेलोड प्राप्त कर ले और किसी तरह कनेक्शन बंद कर दे क्योंकि यह [object Object]
है और वैध JSON नहीं है?
data.toString()
हमेशा सिर्फ[object Object]
होता है यदि आप अपनी वस्तु को एक स्ट्रिंग में बदलना चाहते हैं, तोJSON.stringify()
का उपयोग करें