[英]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.