http - 使用 Apache2 流式传输内容形式管道

标签 http stream apache2 pipe

是否可以编写一个 Apache2 服务,在生成时将内容通过管道传输到客户端?

我想设置一个简单的 http 服务来触发构建并在编译进行时立即开始向客户端发送 stdout(gcc 东西)。目标是客户可以使用例如 curl 以测试构建:

curl http://myserver.com/testbuild -F "file=@mypkg.tar.gz"

并立即从服务器上的构建过程中查看标准输出。

最佳答案

我认为这是可能的 using a cgi script ,但诀窍是立即获取标准输出,绕过缓冲。如果你真的不需要 http 作为传输协议(protocol),为什么不通过 netcat 使用直接的 tcp 流式传输呢? .

在构建服务器上运行如下脚本:

#!/bin/bash
while true ; do
nc -l -p 8080 -e /path/to/buildscript
done

当任何客户端通过

连接时
nc <buildservername or ip> 8080

它会立即使构建变得坚固。

我的建议会有所不同(使用 jenkins 作为 ci 服务器,我什至在 cubietruck 上也这样做),但对于快速和小型的解决方案,它应该足够了。如果您需要 http,您甚至可以将 http header 添加到您的构建脚本中。

关于http - 使用 Apache2 流式传输内容形式管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27849975/

相关文章:

C++ ostringstream 奇怪的行为

security - Apache 安全默认安装权限

python - 使用 HTTrack 镜像单个页面

javascript - 如何防止此广告网络 http 请求?以及如何插入请求?

file-io - fdopen() 会导致内存泄漏吗?

ubuntu - Apache2 虚拟主机 403 被禁止?

linux - Debian apache2 溢出

python - 流媒体上传请求?

http - Vignette CMS 是否提供压缩的 HTML、CSS 和 JavaScript 内容?

node.js - 使用 Node.js 传输多个文件流