Http xbuf_frurl超时=0

Http xbuf_frurl超时=0,http,timeout,client,g-wan,Http,Timeout,Client,G Wan,我尝试使用xbuf\u frurl启动一个worker来进行一些后期处理。 工人将完成工作而不归还任何东西。 因此,原始脚本可以更快地响应客户端 因此,我尝试在xbuf_frurl中设置timeout=0ms,希望它可以立即返回,并执行其余代码并返回200 xbuf_frurl(&buf, "localhost", 80, HTTP_GET, "/postprocessing", 0, 0); xbuf_ncat (reply, buf.ptr, buf.len); 但是,它似乎不会立

我尝试使用
xbuf\u frurl
启动一个worker来进行一些后期处理。
工人将完成工作而不归还任何东西。
因此,原始脚本可以更快地响应客户端

因此,我尝试在xbuf_frurl中设置timeout=0ms,希望它可以立即返回,并执行其余代码并返回200

xbuf_frurl(&buf, "localhost", 80, HTTP_GET, "/postprocessing", 0, 0);
xbuf_ncat (reply, buf.ptr, buf.len);
但是,它似乎不会立即超时,因为缓冲区不是空的

有更好的方法吗?

当目标主机不接受TCP连接时,
xbuf\u frurl()
超时的目的是更快地失败

因此,为了回答您的问题,超时对回复时间没有影响,因为服务器始终在线

我不确定从另一个servlet(或self)查询一个servlet是否是做您想做的事情的最佳方式,但如果我不知道您的目标是什么,我就无法为您提供更好的策略(神秘的“posprocessing”肯定比使用HTTP连接更有效地触发)


如果您想要使用HTTP连接,您可以让servlet通过使用错误的HTTP状态代码发送最小的答案,即1-99范围:这用于防止G-WAN添加缺少的HTTP头,例如发送裸JSON有效负载。

对于内部使用,xbuf_frurl不需要复杂的HTTP头。我认为最好有一个参数来关闭标准头,只发送用户的头,这会破坏xbuf_frurl()应该使用的HTTP协议。要“ping”服务器,您应该启动一个connect()/send()shutdown()close()循环,这将运行得更快。