Javascript 套接字-客户端站点上不显示任何数据
我想通过nodejs通过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
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);
});