c# - WebSocket客户端与具有命名空间节点的SocketIO服务器通信



我在过去的10天里一直在做这件事。我的任务是:从Unity3D连接到使用名称空间的SocketIO服务器。问题是没有任何可用的c# SocketIO库(不改变服务器上的任何东西)。所以我被迫使用常规的WebSockets。我找到了几个库(目前使用WebSocketSharp)。我已经设法连接到普通的SocketIO服务器,但我需要找到一种方法来连接到SocketIO,即使用名称空间。

首先,我向SocketIO服务器发送一个http GET请求以获得握手。这样的:

…new WebRequest("http://somewebsite.com:8080/socket.io/1/?t=" + time, "GET");

我从函数中得到了与JavaScript的getTime()函数相同的"时间"变量。在此之后,我试图像这样连接到WebSocket:

…new WebSocket("ws://somewebsite.com:8080/socket.io/1/WebSocket/" + key[0]);

key[0]变量是web请求的响应。

当SocketIO服务器端的体系结构是常规的时,这一切都有效,但是如何使用名称空间实现SocketIO服务器的所有这一切?

我检查了Chrome的网络流量,只有在框架选项卡下提到命名空间的地方(当web套接字试图连接时的第二次请求)。

谢谢。

编辑:服务器上的SocketIO版本为0.9.x

我通过操作url为c# SocketIOClient添加命名空间。

在url后面添加命名空间

http://somewebsite.com: 8080/socket . io/1/[名称]? t =

相关内容

  • 没有找到相关文章

最新更新