套接字IO查询参数

时间:2016-06-18 14:14:11

标签: node.js sockets socket.io rtcmulticonnection

这是关于Socket IO的一般性问题,我对此并不熟悉。我已经看过一些教程和示例,他们调用似乎查询socket.io服务器类似于:

https://example.com/socket.io/1/?userid=j568mfkkl3ow29&msgEvent=RTCMultiConnection-Message&socketCustomEvent=RTCMultiConnection-Custom-Message&EIO=3&transport=polling&t=LLZpEfU

网址中的 / 1 / 是什么?我查看了服务器代码,但没有看到任何需要它的代码。有时在我的客户端库中,查询没有 / 1 / 。该参数有什么作用?

有时, / 1 / 不会从客户端发送。我还没有找到为什么有时会发送或有时不发送此参数。有人可以解释它的作用吗?

我希望它能帮助我调试。

一个例子是https://github.com/muaz-khan/RTCMultiConnection,视频会议演示。

1 个答案:

答案 0 :(得分:0)

我相信这只是一个版本差异。它看起来像1.0之前的版本,socket.io在路径中使用了“协议”版本。见https://github.com/socketio/socket.io-client/blob/f0e877da3c48eedb399d9ebd5d55cc6888a5ace0/lib/transport.js#L222-L229

PM> install-package xunit -verbosity detailed
Install-Package : A parameter cannot be found that matches parameter name 'verbosity'.
At line:1 char:23
+ install-package xunit -verbosity detailed
+                       ~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Install-Package], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
0.9.6中的

Transport.prototype.prepareUrl = function () { var options = this.socket.options; return this.scheme() + '://' + options.host + ':' + options.port + '/' + options.resource + '/' + io.protocol + '/' + this.name + '/' + this.sessid; }; ,您提供的示例中的版本为io.protocol

我认为socket.io的新版本不会将此作为URL路径的一部分。