Unity3d和Sockets.IO不会握手

时间:2014-06-12 14:49:52

标签: javascript node.js unity3d socket.io unityscript

我正在使用https://github.com/kaistseo/UnitySocketIO-WebSocketSharp来启用Unity3D与Node.JS Socket.IO服务器通信。但是,它在与

握手期间出错

套接字错误:初始化与服务器的握手时出错

客户代码:

    SocketIOClient.Client socket;

// Use this for initialization
void Start () {
    socket = new SocketIOClient.Client("http://server:80/");
    socket.On("connect", (fn) => {
        Debug.Log ("connect - socket");

        Dictionary<string, string> args = new Dictionary<string, string>();
        args.Add("msg", "what's up?");
        socket.Emit("SEND", args);
    });
    socket.On("RECV", (data) => {
        Debug.Log (data.Json.ToJsonString());
    });
    socket.Error += (sender, e) => {
        Debug.Log ("socket Error: " + e.Message.ToString ());
    };
    socket.Connect();
}

在服务器端,

var express = require('express');
var app     = express();
var http = require('http').Server(app);
var io = require('socket.io');

serv = app.listen(port);                                        
var sio = io.listen(serv);
sio.on('connection', function(socket){
   console.log('a user connected');
});

如果我使用Javascript sockets.io客户端连接它,服务器端代码可以正常工作。任何人都有运气使用它连接到socket.io服务器?

谢谢!

1 个答案:

答案 0 :(得分:1)

RikkusRukkus:如果您正在使用socket.io 1.0(5月28日发布),请尝试切换到0.9.x.链接的仓库最后一次更新于4月11日。 1.0在引擎盖下有重大变化,因此客户端库可能不可互换。