在客户端定义传输类型

2023-11-27

我需要对 IE 使用 jsonp-polling,对 Firefox 使用 xhr-polling,所以我 尝试在客户端定义传输类型,如下所示:

    if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x (ignoring remaining digits); 
            var socket = io.connect(VG.NODE_SERVER_URL,{ 
                    transports:['xhr-polling'] 
            }); 
    } else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ 
            var socket = io.connect(VG.NODE_SERVER_URL,{ 
                    transports:['jsonp-polling'] 
            }); 
    } else { 
            var socket = io.connect(VG.NODE_SERVER_URL); 
    }

我在 Firefox 上测试了它,并在 socket.io-client lib 上添加了日志记录。 在

https://github.com/LearnBoost/socket.io-client/blob/master/dist/socket.io.js#L1509

选项.transports 是["xhr-polling", "flashsocket", "htmlfile", "xhr-polling", "jsonp-polling"], 哪个是对的。然而,在

https://github.com/LearnBoost/socket.io-client/blob/master/dist/socket.io.js#L1679

我不知道为什么交通改变["htmlfile", "jsonp- polling", "xhr-polling"],其序列与我的序列相同 在服务器端定义。

为什么不使用之前的选项?


该错误现已在 socket.io 版本 0.9.6 中修复,我可以使用它并且工作正常:

socket = io.connect(HOST_REMOTE, {
    transports: ['xhr-polling']
});

在1.0.0及以上版本中:

socket = io.connect(HOST_REMOTE, {
    transports: ['polling']
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在客户端定义传输类型 的相关文章

随机推荐

  • 运行时是否需要请求互联网权限(Android)?

    对于 Android 我们需要在运行时请求权限 以确保用户更好地理解为什么需要权限 我知道对于像这样的权限来说这是正确的WRITE CALENDAR and ACCESS FINE LOCATION但似乎互联网不需要它 这并不奇怪 因为几乎
  • Xcode6 无法将服务器的响应解析为 plist

    我正在尝试将我的苹果开发者帐户添加到 Xcode Beta 3 以便我可以在 iPhone 中运行应用程序 但没有成功 我转到 Xcode gt 首选项 gt 帐户 gt 添加 Apple ID 然后我输入我的用户凭据并按 确定 我不认为这
  • 将视频插入图库 [Android Q]

    记录一个SurfeceView我正在使用第 3 方library 这个库需要一个路径 在我的例子中保存的输出 录制的视频 是保存的视频路径 mRenderPipeline EZFilter input this effectBmp addF
  • Codeblocks 的 Boost 库设置 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 如何在 Codeblocks Windows 中使用 boost 库 从 boost 网
  • 内置 WPF 控件如何管理附加事件的事件处理程序?

    我知道当您将对象注册到鼠标的附加事件时 就会出现内存泄漏 这就是为什么你需要使用弱事件模式 我对这种模式有一个问题 如果您想使用它 则无法在 XAML 代码中定义处理程序 对我来说 这意味着像这样的每个代码都会泄漏
  • 我的流媒体音频播放器在通话期间继续播放 - 无法让它停止! (安卓)

    我有一个由多项活动和一项服务组成的应用程序 主要活动是用于流音频的 UI 当用户按下播放按钮时 服务就会启动 传输音频并读取元数据 然后 元数据会被推送到 UI 如果可见 和通知栏 在接到电话之前 一切都按预期运行 我曾假设通过使用标准媒体
  • 当主机代码中声明常量内存时,CUDA如何访问设备内核中的常量内存?

    根据记录 这是家庭作业 因此请记住这一点 或多或少地提供帮助 我们使用常量内存来存储 掩码矩阵 该矩阵将用于在更大的矩阵上执行卷积 当我在主机代码中时 我使用 cudaMemcpyToSymbol 将掩码复制到常量内存 我的问题是 一旦将其
  • 访问 DI 容器

    我正在开始一个新项目并建立工作基础 出现了一些问题 我可能会在这里问很多问题 希望我能找到一些答案 第一步是处理对象的依赖关系 我决定采用依赖注入设计模式 我对此有些陌生 来处理应用程序的所有这些问题 在实际编码时我遇到了一个问题 如果一个
  • Rails:发出 POST 请求时无法验证 CSRF 令牌的真实性

    我要实现POST request给我本地的开发人员 如下所示 HTTParty post http localhost 3000 fetch heroku body gt type gt product 但是 从服务器控制台报告 Start
  • 以编程方式更改系统显示大小 Android N

    背景 Android N 具有更改系统的功能Display Size从设置中 除了以前存在的更改功能之外Font Size 更改显示尺寸 图片来源 pcmag com Question 如果一个应用程序有android permission
  • 使用 Java 为 OSX 编写可执行 .sh 文件

    所以我试图编写一个可执行的 sh 文件 这就是我目前编写的方式 Writer output null try output new BufferedWriter new FileWriter file2 output write shell
  • 从 WSL 2 内部访问在 Windows 中运行的本地主机 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在运行本地AEM服务器 in my Windows机 服务器正在运行本地主机 4502 我正在使用运行的 Ubuntu 发行版WSL 2为了我的发展 我想访问本地主机 4502在
  • 如何合并 Drupal 数据库更改

    我们目前使用 SVN 存储库来确保每个人的本地环境保持最新 然而 Drupal 网站开发有些棘手 因为您编写的任何自定义代码 例如 为节点主体编写的 PHP 代码 都存储在数据库中 并且 SVN 工作副本无法识别更改 目前有几个开发人员正在
  • 指向不完整类型的指针可以不完整吗?

    Can int 是一个不完整的类型 C 2018 6 2 5 1 说 在翻译单元内的各个点处 对象类型可以是不完整的 缺乏足够的信息来确定该类型对象的大小 或complete 有足够的信息 因此 如果类型的大小已知 则该类型似乎是完整的 6
  • Chrome DevTools 和扩展程序中的内容脚本之间进行通信

    我已经读过this但它不起作用 我做了很多搜索和实验都无济于事 我正在编写一个 Chrome 扩展 大控制台 目标是为 Chrome 开发者工具构建更好的控制台选项卡 这意味着我想在页面上下文中执行用户输入代码 并访问页面上的 DOM 和其
  • 打开 O_CREAT | Linux 中 NFS 上的 O_EXCL?

    当在 Linux 2 6 内核和 NFSv3 中时open fname O CREAT O EXCL 生效了吗 目前的规范open 2 系统调用文档 http www kernel org doc man pages online page
  • Notepad ++ - 只保留数字

    我有一个包含数字和字符的文本文件 阿拉伯语 像这样 943894 964737 编号 1045051 10653 10653 to this 943894964737 1045051 10653 我想删除除数字之外的所有内容 我在这里查看了
  • 下拉列表中选项的粗体部分

    有没有办法仅将下拉列表选项中的部分文本加粗或者这是不可能的 我知道您可以使用 CSS 设置整个选项的样式 但这不是我想要的 并且选项标签内的 HTML 不会呈现 这是下拉列表项的示例 一些ID 身份证件说明 你不可以做这个 您会发现 那里
  • 从plist中检索数据

    我有一个 plist 里面有一个数组 然后是一组字典元素 如何将数据从 plist 检索到我的数组 如何在一个数组中获取类别名称 Objective C Read plist from bundle and get Root Diction
  • 在客户端定义传输类型

    我需要对 IE 使用 jsonp polling 对 Firefox 使用 xhr polling 所以我 尝试在客户端定义传输类型 如下所示 if Firefox s d d test navigator userAgent test f