过去10天我一直在研究这个问题。我的任务是:从Unity3D连接到使用命名空间的SocketIO服务器。问题是C#没有任何可用的SocketIO库(不改变服务器上的任何内容)。所以我被迫使用常规的WebSockets。我找到了几个库(目前使用的是WebSocketSharp)。我已设法连接到常规SocketIO服务器,但我需要找到一种方法来连接使用名称空间的SocketIO。
首先,我向SocketIO服务器发送http GET请求以获取握手。像这样:
...新的WebRequest(" http://somewebsite.com:8080/socket.io/1/?t=" +时间," GET");
我得到了"时间"函数的变量与JavaScript的getTime()函数相同。在此之后,我试图像这样连接到WebSocket:
...新的WebSocket(" ws://somewebsite.com:8080 / socket.io / 1 / websocket /" + key [0]);
key [0]变量只是来自Web请求的响应。
当SocketIO服务器端的架构是常规的时,这一切都有效,但如何使用名称空间的SocketIO服务器实现所有这些?
我检查了Chrome的网络流量,并且只在提到名称空间的地方位于“框架”标签下(当网络套接字尝试连接时,第二次请求时)。
谢谢。
编辑:服务器上SocketIO的版本是0.9.x