好的网站建设启示,无限免费视频在线看,化妆品网站建设规划书范文,网络推广营销策划方案上次我们研究了如何将解析web前端的请求#xff0c;本次内容里我们将服务器的内容响应到前端#xff0c;让浏览器展示。 响应数据到前端 服务器将数据响应到前端有其必要的返回数据#xff0c;其结构如下#xff0c;中间\r\n为换行#xff0c;这个在不同系统#xff08;w… 上次我们研究了如何将解析web前端的请求本次内容里我们将服务器的内容响应到前端让浏览器展示。 响应数据到前端 服务器将数据响应到前端有其必要的返回数据其结构如下中间\r\n为换行这个在不同系统windowlinux不同暂时将其作为一种固定格式。 在这里插入代码片 “HTTP/1.0 200 OK\r\n” “Server: my-AI-X v1.0\r\n” “Content-Type: text/html;charsetutf-8\r\n” “\r\n” 定义响应头(header) 
const char headers[]  HTTP/1.0 200 OK\r\nServer: my-AI-X v1.0\r\nContent-Type: text/html;charsetutf-8\r\n\r\n;//定义HTML页面的head标签部分内容可以根据自己的需求替换
const char html_header[]  headtitleAI content/title/head;响应回前端的数据 定义了一个函数从服务器读取html模板中的内容将其返回给前端。 读取项目html模板 
/***  定义读取html模板的函数此处会用到文件解析*/
void read_html(char *file_buff);
void read_html(char *file_buff) {FILE *fp  NULL;fp  fopen(D:/cprojects/ai_x/mychat.html, r); //html文件的绝对路径int step  0;int c  0;while ((c  fgetc(fp)) ! EOF) {//处理文件中出现回车和换行if (c  \r || c  \n ) {continue;}file_buff[step]  (char) c;}file_buff[step  1]  \0;fclose(fp);
}将登录用户名写入html中 定义一个函数拼接用户名到第二个页面的输出中。 char * sub_str strtok(file_buff,PPP);   //找到html的PPP标记
char body[BODY_SIZE];
memset(body,0, sizeof(body));strcpy(body, sub_str);
strcat(body, username);
sub_str  strtok(NULL,PPP);
strcat(body, sub_str);响应前端 响应到前端其实质上是指将数据发送到浏览器要调用send()函数完成此操作。 send(client_socket, headers, strlen(headers), 0);
send(client_socket, html_header, strlen(html_header), 0);
send(client_socket, body, strlen(body), 0);fclose(fp);完整代码 char file_buff[1024];memset(file_buff, 0, strlen(file_buff));read_html(file_buff);  //读取html模板printf([服务器] 解析文件[%s]\n, mychat.html);char *sub_str  strtok(file_buff, PPP); char body[BODY_SIZE];memset(body, 0, sizeof(body));strcpy(body, sub_str);strcat(body, username);sub_str  strtok(NULL, PPP);strcat(body, sub_str); //替换PPP位置的内容为用户名send(client_socket, headers, strlen(headers), 0);send(client_socket, html_header, strlen(html_header), 0);send(client_socket, body, strlen(body), 0);  printf([服务器] 响应完成......\n);close(client_socket);printf([服务器] ---------------断开与客户端(浏览器的连接)------------------\n\n);