我正在使用这个简单的代码。
#include "gwan.h"
int main(int argc, char *argv[])
{
xbuf_t *reply = get_reply(argv), *read_buff;
read_buff = (xbuf_t*)get_env(argv, READ_XBUF);
xbuf_cat(reply, "STARTn"); xbuf_ncat(reply, read_buff->ptr, read_buff->len); xbuf_cat(reply, "ENDn");
// this line is important if I don't use read_buff everything seems OK
// but I need parse read_buff :(
printf("%sn", read_buff->ptr); // this line is most important
return 200;
}
一开始似乎一切正常
shell:~$ for I in seq 0 1
;做卷发——"- h"测试:${}"http://test.com: 8080/? read_buf.c& scp = 3";做
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0
END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 1
END
再次执行我的循环
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0
END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 1
END
再次执行我的循环
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0
END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 1
END
但这是我的问题。
再次执行我的循环
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0
END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0
END
再次执行我的循环
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0
END
START
GET /?read_buf.cscp=3HTTP/1.1
Host: test.com8080
Accept: */*
TST: 0
END
为什么?由于缓存?如何禁用它?
PS: servlet正在G-WAN 4.3.14上执行
由于这个问题是在之后发布的,我们通过电子邮件回复了它,因此它的真正目的是毫无疑问的,这与所谓的技术借口相距甚远。
让人们来判断,以下是我们给那个家伙的回复:
所有用户都将看到脚本显示的内容。
你的脚本没有使用任何user-session。在并发情况下,该脚本以相同的方式为所有客户端显示相同的信息。
G-WAN检测到这一点,并触发它的缓存,因为您的脚本很慢(可能是由于打印到控制台)。
在现实世界中不存在这样的应用程序:您将使用个性化的URI参数,或POST实体,甚至cookie -您的测试小心避免的东西-因此它不相关。
此外,您可能会受益于阅读G-WAN常见问题解答:
http://gwan.ch/faq缓存最后,创建G-WAN不是为了与任何现有的Web框架竞争。我们的目标仅仅是满足我们自己项目的需要:
http://twd-industries.com/这里G-WAN非常适合这个任务,因为我们写它的目的是为了正确使用它。