var io = require('socket.io-client'),
socket = io.connect('targeturl', {
port: 8080
});
socket.on('connect', function () {
console.log("socket connected"); //this is printed.
});
socket.emit('list', {"user":'username',"token": 'mytoken'});
socket.on('message', function(data){
console.log(data);
});
socket.on('error', function(data){
console.log(data); //nothing is printed
});
在命令行上从node.js运行时,我看到消息'socket connected',但我没有看到'list'调用的响应。
请注意,这是一个关于将Node.js中的socket-io-client用作命令行应用程序的具体问题。
我已经使用curl
验证我可以访问REMOTE的套接字服务器,即我没有服务器代码,但我知道它使用的是socket.io。
答案 0 :(得分:0)
我不是这方面的专家,但看起来你正试图在建立连接之前发出消息。 (毕竟这个东西是异步的。)
尝试在'connect'事件的处理程序内移动emit
调用,以确保它在之后发生。