rebol open没有名为async的改进

时间:2009-10-31 16:43:26

标签: rebol

我尝试了示例http://www.rebol.net/docs/async-examples.html,但它不起作用。

port-spec: tcp://www.rebol.net:80

http-request: {GET /
User-Agent: REBOL/Core
Connection: close

}

client: context [
    data: make binary! 10000
    handler: func [port action arg] [
        switch action [
            read [
                append data copy/part port arg
                print ["-- read" arg "bytes" length? data "total"]
            ]
            write      [print "-- writing (sending)"]
            write-done [print "-- done with write"]
            close [
                print ["-- done with read" length? data]
                close port
                print ["-- closed port, press RETURN to quit"]
            ]
            init       [print "-- port initialized"]
            open       [print "-- opened" insert port http-request]
            address    [print ["-- address lookup:" arg]]
            error      [print ["-- error:" mold disarm :arg] close port]
        ]
    ]
]

p: open/direct/binary/async port-spec get in client 'handler
input ; (wait for user console input before closing)
attempt [close p]

1 个答案:

答案 0 :(得分:1)

/ async之前被删除了。如果你想使用async,你将不得不使用Gabriele和其他人的异步协议。