将Unity游戏连接到数字海洋Node.js服务器

开始按照我的统一游戏的networking教程(以前没做过)。

这是迄今为止创build的一些非常简单的脚本,可以连接到。 这是我有:

var io = require("socket.io")(process.env.port || 3000); console.log("Server Started"); io.on("connection", function (socket) { console.log("Client Connected"); }); 

在Unity中,我有一个带有Socket IO Component(来自商店资产)的gameobject。 从CMD,我运行本地版本的server.js(上面的代码),并看到“服务器启动”出现。 在Unity中,GameObject的URL设置为:ws://127.0.0.1:3000 / socket.io /?EIO = 4&transport = websocket,当我玩Unity的时候,它连接起来。 这是显示在“客户端连接”出现在CMD窗口中。

本教程没有涉及到如何部署这样的东西,所以我只是确保在继续之前它肯定会工作。

我用Node.js打开了一个数字海洋液滴。 我导航到srv / www,并安装express以及socket.io,就像我在本地做的那样。 我上传(通过FTP)server.js的位置,并运行它。 我看到“服务器启动”出现。 当我统一更改URL中的IP地址时,维护端口及其后的所有内容,然后按播放,它不会出现连接。 我从来没有看到任何“客户端连接”消息。

这感觉就像是最后的障碍,但我无法解决它。

我把东西放在错误的目录中吗? 我在做什么错,为什么不能连接?

弄清楚了。 我没有打开港口,所以连接没有通过,因为这一点。 “sudo ufw允许3000”是我所需要的。 🙂