Node.js Socket.io 1.0.6客户端事件
我目前正在学习将socket.io与node js一起使用,但我遇到了困难,因为我认为不同版本之间可能发生了一些变化。我有一个使用1.0.4的小演示,其中我使用类似的东西从客户端发送事件并在服务器中接收它们: 服务器Node.js Socket.io 1.0.6客户端事件,node.js,socket.io-1.0,Node.js,Socket.io 1.0,我目前正在学习将socket.io与node js一起使用,但我遇到了困难,因为我认为不同版本之间可能发生了一些变化。我有一个使用1.0.4的小演示,其中我使用类似的东西从客户端发送事件并在服务器中接收它们: 服务器 var socketio = require('socket.io'); var http = require('http'); var app = express(); var server = http.Server(app); var io = socketio.liste
var socketio = require('socket.io');
var http = require('http');
var app = express();
var server = http.Server(app);
var io = socketio.listen(server);
var port = process.env.PORT || 8080;
server.listen(port, function(){
console.log("Express server listening on port " + port);
});
io.on('connection', function (socket) {
socket.emit('connected');
socket.on('myEvent', function(){
console.log('myEvent has been emitted');
});
});
客户
$(document).ready(function(){
$('#button').click(function(){
emitEvent();
});
});
var socket = io.connect('http://localhost:8080/');
socket.on('connected', function () {
alert('server says I am connected');
});
function emitEvent(){
socket.emit('myEvent');
}
使用这两个版本,我可以打开客户端上的套接字,并在启动警报功能之后接收从服务器发送的“已连接”事件。这里的问题是当我想从客户端发送任何其他事件时。emitEvent函数中的“socket.emit('myEvent');”对于1.0.4版本似乎可以正常工作,但对于1.0.6版本则不行。我一直在寻找有关更改的信息,并试图了解整个模块,但无法找到解决方案。有人知道我做错了什么吗?显然,发送客户端事件的方式已经改变。如果有人能帮我解决这个问题,我将不胜感激。提前谢谢。我实际上不明白这个问题。但以下是您的功能代码 客户:
var socket = io.connect();
$('#button').click(function(){
socket.emit('myEvent');
});
socket.on('connected', function(){
alert "you are connected";
});
服务器:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(app);
var port = process.env.PORT || 8080;
app.listen(port);
io.on('connection', function(socket){
socket.on('myEvent', function(){
socket.emit('connected');
console.log('emmited succesfully');
});
});