我把网页代码直接放到buf中用write(sockfd,buf,buf_size)发送过去 浏览器只会闪一下网页的代码然后一直转圈链接 而不是打开主页的形式 请问该怎么写才能让浏览器打开主页
这是我的测试网页内容 通过以下方式写入write_buf
int f=open(index.html,O_RDONLY);
write_buf[WRITE_BUFFER_SIZE-1]='\n';
int tmp=read(f,write_buf,WRITE_BUFFER_SIZE-1);
然后 write(sockfd,write_buf,WRITE_BUFFER_SIZE)发送给浏览器
发送前在服务器端打印了write_buf数据 内容没有问题 但浏览器就是不显示页面
你的返回需要符合http协议,想要返回的response能让浏览器正确handle,不是直接返回html文件的内容就行的,要符合http协议的格式,举个例子:
HTTP/1.1 200 OK
Date: Sat, 31 Dec 2005 23:59:59 GMT
Content-Type: text/html;charset=ISO-8859-1
<html>
<head></head>
<body>test</body>
</html>
注意那个空行必须要有,浏览器收到这个会知道这个请求响应成功(response code=200),然后html内容是xxx,
你服务器返回的内容要按对应的html页面的内容结构而且要返回给浏览器,让浏览器能够正确处理。