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

问题描述:

开始按照我的统一游戏的网络教程(以前没做过)。将Unity游戏连接到数字海洋Node.js服务器

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

var io = require("socket.io")(process.env.port || 3000); 

console.log("Server Started"); 

io.on("connection", function (socket) { 
    console.log("Client Connected"); 
}); 

在团结,我有一个Socket IO组件(在商店从资产)上有一个游戏对象。从CMD,我运行本地版本的server.js(上面的代码),并看到“服务器启动”出现。在Unity中,GameObject的URL设置为:ws://127.0.0.1:3000/socket.io /?EIO = 4 & transport = websocket,当我玩统一时,它连接。这是通过在cmd窗口中出现的“Client Connected”显示的。

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

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

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

我把东西放在错误的目录中吗?我做错了什么,为什么它没有连接?

想通了。我没有打开港口,因此连接没有通过。 “sudo ufw允许3000”是我所需要的。 :)