gpt4 book ai didi

javascript - Sails.js 0.10 套接字未连接

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

由于有关 sails 套接字实现的过时文档,我正在努力获取基本的“连接”消息。这是我的 Node.js 服务器端代码:

sails.sockets.on('connection', function(socket){
sails.log.info('socket connected');

//create room and broadcast a welcome message
socket.emit('user joined', {'message': 'Welcome to ' + roomName});
socket.join(roomName);
socket.broadcast.to(roomName).emit('user joined', {'message': 'Welcome to ' + roomName});
});

和我的客户端:

         var sock = io.connect('http://localhost:8888');
sock.on('connection', function(socket){
console.log('conected to server');
});
sock.on('user joined', function (json) {
console.log('socket: ' + json);
});

我确实在启动时从 sails 本身收到了 OK 消息,但似乎无法获得自己的连接:


sails.io.js:200 `io.socket` 连接成功。
(如需帮助,请参阅:http://sailsjs.org/#!documentation/reference/BrowserSDK/BrowserSDK.html)

我尝试使用 socket.io v1 并遇到了同样奇怪的情况。有任何想法吗?谢谢!

最佳答案

在服务器上config/sockets.js

module.exports.sockets = {
onConnect: function(session, socket) {
sails.log.verbose('>>> socket user connected');
sails.sockets.blast('eventName', dataToBlast);
},
};

文档 http://sailsjs.org/#/documentation/anatomy/myApp/config/sockets.js.html

在客户端

io.socket.on('eventName', function(dataToBlast) {
// process dataToBlast
});

文档 http://sailsjs.org/#/documentation/reference/websockets/sails.io.js/io.socket.on.html

请注意,套接字需要订阅eventName。要订阅,您需要创建 Controller SubscribeController.js 并通过套接字向其操作发出请求。

var SubscribeController = {
sub: function(req, res) {
ModelName.subscribe(
req.socket,
[] /*records to subscribe to or empty array to subscribe to all */,
['eventName'] /* array of strings eventNames */
);
},
};

为了调试客户端,您可以连接到firehose,这将为您的客户端提供来自 sails 服务器的所有消息

io.socket.get('/firehose');
io.socket.on('firehose', function newMessageFromSails(message) {
typeof console !== 'undefined' &&
console.log('New message published from Sails ::\n', message);
});

关于javascript - Sails.js 0.10 套接字未连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27886987/

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