如何在Crystal中创建流式HTTP服务器?
答
从这个issue提取:
你应该在客户追加
\n
来发送文本gets
做io.flush
。
require "http/server"
port = 5000
server = HTTP::Server.new(port) do |context|
loop do
context.response.puts "Something\n"
context.response.flush
sleep 1
end
end
puts "Listening on #{port}"
server.listen
@rx14说:
晶体已经处理了写作分块响应。只需继续写入输出响应,并在想要确保客户端收到消息时调用flush。如果没有内容长度标题,响应会自动为您选择分块编码。