最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

在Google App Engine上部署socket.io

IT培训 admin 10浏览 0评论

在Google App Engine上部署socket.io

如何在App Engine上部署和运行用Node.js编写的socket.io服务器。支持吗?如果没有,我可以使用哪些替代方法

这里是我的套接字:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
    console.log('a user connected');

    socket.on('disconnect', function(){
        console.log('user disconnected');
    });

    socket.on('subscribe', function(room) {
        console.log('joining room', room);
        socket.join(room);
    });

    socket.on('send message', function(data) {
        console.log('sending room post', data.room);
        socket.broadcast.to(data.room).emit('conversation private post', data.message)
    });
});


http.listen(3000, function(){
    console.log('listening on *:3000');
});
回答如下:

是的,从2019年1月起,现在可以使用Google App Engine Flex。您可以阅读有关它的更多信息here。它甚至包含您需要的所有代码。

tldr;您需要使用GAE flex并将以下内容添加到您的app.yaml中:

network:
  session_affinity: true

在Google App Engine上部署socket.io

如何在App Engine上部署和运行用Node.js编写的socket.io服务器。支持吗?如果没有,我可以使用哪些替代方法

这里是我的套接字:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
    console.log('a user connected');

    socket.on('disconnect', function(){
        console.log('user disconnected');
    });

    socket.on('subscribe', function(room) {
        console.log('joining room', room);
        socket.join(room);
    });

    socket.on('send message', function(data) {
        console.log('sending room post', data.room);
        socket.broadcast.to(data.room).emit('conversation private post', data.message)
    });
});


http.listen(3000, function(){
    console.log('listening on *:3000');
});
回答如下:

是的,从2019年1月起,现在可以使用Google App Engine Flex。您可以阅读有关它的更多信息here。它甚至包含您需要的所有代码。

tldr;您需要使用GAE flex并将以下内容添加到您的app.yaml中:

network:
  session_affinity: true

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论