将Unity游戏连接到Digital Ocean Node.js服务器

时间:2017-05-09 14:57:14

标签: node.js sockets networking unity3d digital-ocean

开始关注我的团结游戏的网络教程(之前没有这样做过)。

到目前为止,它创建了一些可以连接的非常简单的脚本。这就是我所拥有的:

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组件的游戏对象(来自商店中的资产)。从CMD,我运行本地版本的server.js(上面的代码),并查看" Server Started"出现。在Unity中,GameObject的URL设置为:ws://127.0.0.1:3000 / socket.io /?EIO = 4& transport = websocket,当我播放unity时,它会连接。这显示在" Client Connected"出现在cmd窗口中。

本教程没有介绍如何部署这样的内容,所以我确保在继续之前确保它能够正常工作。

我在Node.js上创建了一个数字海洋水滴。我导航到srv / www,并安装了express和socket.io,就像我在本地做的那样。我上传(通过ftp)server.js到该位置,然后运行它。我看到了" Server Started"出现。当我更改URL中的IP地址时,保持端口及其后的所有内容等,然后按播放,它似乎没有连接。我从未见过任何" Client Connected"消息。

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

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

1 个答案:

答案 0 :(得分:0)

想出来。我没有打开端口,因此连接没有通过。 “sudo ufw allow 3000”是我所需要的。 :)