web项目页面显示服务器连接被重置,C实现的web服务器 总提示连接被重置

尝试用C实现一个简单的http服务器,遇到了些小问题,请大神帮帮忙

流程:

启动服务器监听端口 -> accept 请求后创建线程处理 -> 返回结果

问题:

向客户端send完结果之后,如果 close() 浏览器页面就会显示 “连接被重置”

如果不close , 页面就会一直加载中

思考:

是我返回的http数据不完整还是其他原因呢?

代码:

char buf[1024];

//发送header

sprintf(buf, "HTTP/1.0 200 OK\r\n");

send(client_fd, buf, strlen(buf), 0);

sprintf(buf,"Content-Type: text/html;charset=utf-8\r\n");

send(client_fd, buf, strlen(buf), 0);

sprintf(buf, "\r\n");

send(client_fd, buf, strlen(buf), 0);

//发送内容

sprintf(buf, "

test");

send(client_fd, buf, strlen(buf), 0);

sprintf(buf, "

welcome

");

send(client_fd, buf, strlen(buf), 0);

//关闭连接

close(client_fd);

回答:

因为你的浏览器不知道你的数据是否返回完毕了,你需要把你要响应


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部