为何使用vxworks自带的wind web server,点几下网页上的链接就无法打开网页?
如题。
使用vxworks2.2自带的wind web server,如果点网页上的链接速度太快,浏览器就显示无法显示网页。过了半分钟又恢复正常?
而且发现目标机的web server无相应后,目标机同样使用tcp的telnet server和smtp client都无法使用,大家有遇到这种情况吗?
我还porting了另外的web server,不再用vxworks自带的了,没想到同样发生这样的问题。我的web server的initial和task入下:
int http_init()
{
...
httpsock = socket(AF_INET, SOCK_STREAM, 0);
if(httpsock == ERROR)
return -1;
httpsin.sin_family = AF_INET;
httpsin.sin_addr.s_addr = htonl(INADDR_ANY);
httpsin.sin_port = htons(80); /* http port */
e = bind(httpsock, (struct sockaddr*)&httpsin, sizeof(httpsin));
if(e)
{
printf("error %d binding tcp http server\n", e);
return -1;
}
e = listen(httpsock, 254);
if(e)
{
printf("error %d starting listen on http server\n", e);
return -1;
}
}
void http_task (void)
{
while (httpsock != ERROR) {
httptmp = accept(httpsock, (struct sockaddr *)&client, &addrlen);
if(httptmp != ERROR)
{
http_connection(httptmp);
httptmp = ERROR;
}
http_loop();
taskDelay(1);
}
我发现web server出现问题后,浏览器再发tcp connect请求,目标机直接将这个tcp session reset。
大家有遇到这种情况吗?