Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 套接字-客户端站点上不显示任何数据_Javascript_Node.js_Sockets - Fatal编程技术网

Javascript 套接字-客户端站点上不显示任何数据

Javascript 套接字-客户端站点上不显示任何数据,javascript,node.js,sockets,Javascript,Node.js,Sockets,我想通过nodejs通过socket.io向我的客户端发送数据 我收到的数据来自pusher 我正在使用一个express后端并像那样加载我的服务器 #!/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); v

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

我收到的数据来自pusher

我正在使用一个express后端并像那样加载我的服务器

#!/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>
我的问题是,在webbrowser的控制台中没有显示任何内容,即使数据来自我的nodejs应用程序

有人建议我做错了什么吗


谢谢你的回复

我相信问题在于使用时:
socket.emit(“其他东西”{hello:“hello,您已连接”})

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

当您发射时,您使用通道“其他内容”,但在客户端,您正在检查通道“数据”

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

希望我能帮上忙。我在sockets.io上找不到太多信息,所以我不知道以前是否有一个名为“data”的频道。如果有,请告诉我:)

var socket = io.connect(window.location.hostname);
socket.on('data', function(data) {
    var total = data.total;

    //print data to console
    console.log(data);

});