套接字 – 没有数据显示在客户端网站上

我想通过nodejs通过socket.io发送数据到我的客户端。

我收到的数据来自推送者。

我正在使用快速后端,并像这样加载我的服务器。

 #!/usr/bin/env node var debug = require('debug')('testApp'); var app = require('../app'); var Pusher = require('pusher-client'); app.set('port', process.env.PORT || 3000); var server = app.listen(app.get('port'), function () { debug('Express server listening on port ' + server.address().port); }); /** * return pusher data */ var API_KEY = 'cb65d0a7a72cd94adf1f'; var pusher = new Pusher(API_KEY, { encrypted: true }); /** * Socket.io */ var io = require("socket.io").listen(server, {log: true}); io.sockets.on("connection", function (socket) { // This will run when a client is connected // This is a listener to the signal "something" socket.on("data", function (data) { var channel = pusher.subscribe("ticker.160"); channel.bind("message", function (data) { console.log(data); }); }); // This is a signal emitter called "something else" socket.emit("something else", {hello: "Hello, you are connected"}); }); 

在我的客户端上运行以下脚本:

index.ejs

 <!DOCTYPE html> <html> <head> <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js" /> <script src='/javascripts/socket.js'></script> </head> <body> <h1><%= title %></h1> <p>Welcome to <%= title %> Juhu!</p> </body> </html> 

我的socket.js文件:

 var socket = io.connect(window.location.hostname); socket.on('data', function(data) { var total = data.total; //print data to console console.log(data); }); 

我的问题是没有任何东西显示在我的浏览器的控制台,即使数据进入我的nodejs应用程序。

任何build议我做错了什么?

我很感激你的回复!

我相信问题是当你使用: socket.emit("something else", {hello: "Hello, you are connected"});

但是在客户端有这个: socket.on('data', function(data) {

当你发射时,你使用频道“别的东西”,但在客户端你正在检查频道“数据”。

所以在客户端你应该有socket.on('something else', function(data){

希望我帮助。 没有什么信息可以在sockets.iofind,所以我不知道是否有一个预先存在的通道,称为“数据”。 请赐教:)