2016-02-26 9 views
6

मैं एक बहुत ही सरल socket.io उदाहरण चैट है, और सर्वर साइड कोड इस तरह है:ws क्लाइंट से socket.io से कैसे जुड़ें?

https://github.com/js-demos/socketio-chat-demo/blob/master/index.js

var express = require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 

app.use(express.static('public')); 

io.on('connection', function(socket){ 
    socket.on('chat message', function(msg){ 
    io.emit('chat message', msg); 
    }); 
}); 

http.listen(3000, function(){ 
    console.log('listening on *:3000'); 
}); 

कोड कब सॉकेट का उपयोग कर इसे कनेक्ट करने के लिए ग्राहक के पक्ष और अच्छी तरह से काम कर रहा है:

https://github.com/js-demos/socketio-chat-demo/blob/master/public%2Findex.html

<script> 
    var socket = io(); 
    $('form').submit(function(){ 
    socket.emit('chat message', $('#m').val()); 
    $('#m').val(''); 
    return false; 
    }); 
    socket.on('chat message', function(msg){ 
    $('#messages').append($('<li>').text(msg)); 
    }); 
</script> 

लेकिन मैं टी कनेक्ट करने के लिए कुछ अन्य WebSocket ग्राहक का उपयोग करना चाहते वह सर्वर, का कहना है कि wscat:

npm install -g wscat 
wscat ws://localhost:3000 

लेकिन यह इस त्रुटि के साथ कनेक्ट नहीं कर सकता,:

error: Error: socket hang up 

मेरी यूआरएल ws://localhost:3000 गलत है? इसे कार्यशील कैसे करें?

पुनश्च: आप इस परियोजना https://github.com/js-demos/socketio-chat-demo/ देख सकते हैं और Chrome डेवलपर टूल से यह कोशिश

उत्तर

18

कर सकते हैं, मैं वास्तविक WebSocket यूआरएल मिला, यह होना चाहिए:

ws://localhost:3000/socket.io/?EIO=3&transport=websocket 

उपयोग wscat के साथ इस यूआरएल में अच्छी तरह से काम करता है

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