gpt4 book ai didi

node.js - Socket.io 1.0.6 客户端事件

转载 作者:太空宇宙 更新时间:2023-11-04 02:32:37 25 4
gpt4 key购买 nike

我目前正在学习将 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.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');
}

使用这两个版本,我都可以在客户端上打开套接字并接收稍后从服务器发送的“已连接”事件,然后启动警报功能。这里的问题是当我想从客户端发送任何其他事件时。 “socket.emit('myEvent');” emitEvent 函数中的 似乎对于 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');
});
});

关于node.js - Socket.io 1.0.6 客户端事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com