繁体   English   中英

GetToString 适用于 Roku Express 但不适用于 Roku Ultra

[英]GetToString works on Roku Express but not on Roku Ultra

在 Roku Express 设备上,以下代码可靠且快速地获取内容可能经常更改的小型(<100 字节但绝不是“空白”)文本文件的内容; 代码每分钟运行多次。

  url="http://<-webpage-address->info.txt"
  timeout=1000
  fileString=""
  http = CreateObject("roUrlTransfer")
  http.SetPort(CreateObject("roMessagePort"))
  http.SetUrl(url)
  if http.AsyncGetToString()
    event = wait(timeout, http.GetPort())
    if type(event) = "roUrlEvent" then
      fileString = event.GetString()
    end if
  end if
  http.AsyncCancel()

在 Roku Express 上,几乎每次运行代码时都会出现非空白返回(info.txt 文件的内容)。 另一方面,Roku Ultra 几乎总是返回一个空字符串“”; 可能需要一个或多个通常数百次调用(有时永远不会)才能获得非空字符串返回。

我尝试改变超时,使用非异步的 .GetToString() 和它自己的超时(~30 秒),将 '?rnd=xxxx' 之类的内容附加到 url 中,其中 xxxx 是一个随机数,以及 EnableFreshConnection(true ) - 所有这些都对 Ultra 设备的成功没有影响。

我的 roku 规格:3910RW Roku Express,软件 10.0.0 build 4209-51 4670X Roku Ultra,softwate 10.0.0 build 4209-46

为什么这在 Express 上一直运行良好,但在 Ultra 上几乎总是失败? 更重要的是,我如何才能在 Ultra 设备上可靠地进行这项工作?

在致电我的网页提供商 GoDaddy 和我的 ISP 提供商 Frontier 后,我发现原因是我的新 Frontier 提供的 NVG443B 调制解调器上的设置。 为什么一些浏览设备和一些Rokus 可以获得所需网页的新副本,而其他设备不能,我不清楚,但 Frontier 的技术电话支持​​解决了这个问题(目前至少启用 IPv6 似乎是解决方案)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM