【发布时间】:2015-04-18 12:14:00
【问题描述】:
我目前正在研究一种名为 Julia 的新语言。我想重写我的一个 oly python 脚本,这个脚本的一部分是连接到服务器,在这种情况下,那个来自 android 模拟器。
但我对read, readline, readall 函数有疑问。当取消这些时,它们并没有真正返回,Julia 等待并等待获得更多字节。在另一个服务器不发送 "\r\n" 的项目上,即使eof 永远等待。有没有办法让 Julia 只读取服务器从缓冲区发送的字节,而不等待任何字节?我当前的连接代码如下所示:
client = connect("localhost", 7777)
@async while true
if eof(client) == false
line = readavailable(client)
println(line)
end
end
我该如何编码,以便 Julia 在数据到达时运行代码,但只读取已经到达的内容,仅此而已,并且不会等待更多数据。
我也遇到了connect 的问题。如果我在终端中使用 juli 并想在没有监听的端口上连接到本地主机 client = connect("localhost", 7777) 我收到一条错误消息,指出连接被拒绝,但是在脚本中使用相同的脚本时,整个脚本也会失败,但是整个脚本然后停止,在其他语言中连接会返回一个错误,我可以尝试用我自己的代码来处理这个问题。有谁知道为什么connect() 会导致整个脚本崩溃?
【问题讨论】:
标签: asynchronous connection localhost buffer julia