客户端对http管道中的多个请求执行长轮询。
我正在寻找一个客户端软件,它将在Unix系统上运行,在一个http管道中对多个请求进行长时间轮询 基本上,我们需要向服务器发出几个长轮询GET请求。所有请求都需要在单个HTTP管道中完成 客户端需要在任何给定时间打开N个请求,其中客户端对http管道中的多个请求执行长轮询。,http,unix,pipeline,Http,Unix,Pipeline,我正在寻找一个客户端软件,它将在Unix系统上运行,在一个http管道中对多个请求进行长时间轮询 基本上,我们需要向服务器发出几个长轮询GET请求。所有请求都需要在单个HTTP管道中完成 客户端需要在任何给定时间打开N个请求,其中N>1 服务器将以200 OK或204 No Content响应 如果是200 OK,则需要通过管道将响应导入新流程。这可以使用PHP轻松实现。可以使用来构建一个自定义客户机来实现这一点。也看到 使用Go也相当简单,如果您自己创建连接,您只需发送所有请求,然后您就可以按
N>1
服务器将以200 OK
或204 No Content
响应
如果是
200 OK
,则需要通过管道将响应导入新流程。这可以使用PHP轻松实现。可以使用来构建一个自定义客户机来实现这一点。也看到
使用Go也相当简单,如果您自己创建连接,您只需发送所有请求,然后您就可以按顺序读取响应,它将通过一个http管道连接发送所有请求
conn, _ := net.Dial("tcp", "127.0.0.1:80")
client := httputil.NewClientConn(conn, nil)
req, _ := http.NewRequest("GET", "/", nil)
client.Write(req)
resp, _ := client.Read(req)
不过,您应该进行更多的错误检查。我们最终用GO实现了它。工作起来很有魅力!