Socket.IO 1.0与Unity3d不能正常工作

我正在寻找一种方法来创build一个node.js服务器的unity3d游戏。 我熟悉Socket.io所以我想用这个。

我得到了“UnitySocket-IO”,但它不起作用,它说: Error initializing handshake with http://localhost:80/

我在客户端(Unity)上的代码是:

 #pragma strict var client:SocketIOClient.Client = new SocketIOClient.Client("http://localhost:80/"); function Start () { //client.Opened += SocketOpened; client.Message += SocketMessage; //client.SocketConnectionClosed += SocketConnectionClosed; client.Error +=SocketError; client.Connect(); } function SocketMessage(sender, e) { client.Send("Pong"); } function SocketError(sender, e:SocketIOClient.ErrorEventArgs) { Debug.Log(e.Message); } 

服务器上的代码(Node.JS):

 var io = require('socket.io')(); io.listen(80); io.on("connection", function (socket) { "use strict"; console.log("Connected!"); setTimeout(function () { console.log("Sent ping."); socket.emit("Ping!"); }, 2000); io.on("message", function (data) { console.log(data); }); }); 

我怀疑这是1.0和unitysocket-io库之间的问题。 有什么替代方法可以在Unityscript中使用吗?

我试图降级到0.9,但它仍然无法正常工作,我想使用当前版本的东西。 谢谢!

你可能想尝试与其他端口。 端口80通常由其他应用程序或进程使用,如果正在使用,socket.io将无法使用它。 将其更改为3000或者您知道未使用的内容,看看是否可以解决问题。