我一直试图让我的代码工作一段时间,但这个问题是我以前从未见过的。
我正在尝试连接我的客户端&服务器通过端口8080,这似乎工作得很好。服务器成功显示用户何时连接&可以发出事件(客户端显然也可以显示这些发出的数据)。但是,当我尝试将任何数据发送回服务器时,它只是失败。
没有错误,但是在一段时间后,“未定义”值开始出现在浏览器的控制台中,该控制台链接到JavaScript的文件行console.log(ping);
以下是我的一些代码:
节点:
var express = require('express');
var socket = require('socket.io');
var app = express();
var server = app.listen(8080, function(){
console.log("Listening on requests...");
});
var io = socket(server);
console.log("Running...");
io.on('connect', function(socket){
console.log("Connection from %s", socket.id);
socket.emit('ping', 'ping');
socket.on('pong', function(pong){
console.log(pong);
socket.emit('ping', 'ping');
});
socket.on('disconnect', function(){
console.log("User %s has disconnected", socket.id);
});
});
客户端JavaScript:
var socket = io.connect('http://localhost:8080');
socket.emit('pong', 'pong');
socket.on('ping', function(ping){
console.log(ping);
socket.emit('pong', ping)
});
我很困惑,不知道我做错了什么。
非常感谢任何有关正在发生的事情的帮助或解释。