当前位置:  开发笔记 > 前端 > 正文

调试并避免周期性的REBOL2错误,试试[]没有(?)捕获?

如何解决《调试并避免周期性的REBOL2错误,试试[]没有(?)捕获?》经验,为你挑选了0个好方法。

使用Rebol/Core(278-3-1)制作一种服务于静态文本的Web服务器时,显然无法捕获错误,其中包含指向新服务位置的重定向链接.

错误的具体位置似乎是在Carl Sassenrath他自己编写的示例代码中,早在2006年,所以我有点困惑,这些年后可能会有一个未检测到的错误.

我有三个这样的脚本同时运行,监视三个单独的端口.本质上,脚本可以正常工作......当同时使用多个浏览器重复访问时(在所有并行脚本上),它看起来非常稳定......但是一个接一个地它们会失败.有时在2分钟后,有时在20分钟后 - 有时甚至在60分钟后添加打印语句 - 但最终它们会像这样失败:

**脚本错误:超出范围或过去结束
**其中:永远
**近:不是空的?请求:第一个http端口

我尝试在try [] [exception]中包装程序循环的每个部分,但错误仍然发生.不幸的是,我的搜索功能在一年中的这个时候似乎很弱,因为我没有找到任何可以解释问题的东西.

该代码是Carl Sassenrath的Tiny Web Server的缩减版本,稍加修改以绑定到特定的IP,并发出HTML而不是加载文件:

REBOL [title: "TestMovedServer"]
AppName: "Test"
NewSite: "http://test.myserver.org"

listen-port: open/lines tcp://:81   browse http://10.100.44.6?
buffer: make string! 1024  ; will auto-expand if needed

forever [
    http-port: first wait listen-port
    clear buffer

    while [not empty? request: first http-port][
        print request
        repend buffer [request newline]
        print "----------"
    ]
    repend buffer ["Address: " http-port/host newline] 
    print buffer
    Location: ""
    mime: "text/html"
    parse buffer ["get" ["http" | "/ " | copy Location to " "]]

    data: rejoin [{
        Site Relocated
        






} AppName { have moved to } NewSite {




Please update the link you came from.




(Continue directly to the requested page)
}] insert data rejoin ["HTTP/1.0 200 OK^/Content-type: " mime "^/^/"] write-io http-port data length? data close http-port print "============" ]

我很期待看到你们为此做出的贡献!

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有