2017-05-09 75 views
2

開始按照我的統一遊戲的網絡教程(以前沒做過)。將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地址時,維護端口及其後的所有內容等,然後按播放,它似乎不會連接。我從來沒有看到任何「客戶端連接」消息。

這感覺就像是最後的障礙,但我無法解決它。

我把東西放在錯誤的目錄中嗎?我做錯了什麼,爲什麼它沒有連接?

回答

0

想通了。我沒有打開港口,因此連接沒有通過。 「sudo ufw允許3000」是我所需要的。 :)