⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpresponsion.cpp

📁 在linux下实现web服务!采用多进程并发服务(不是多线程的方式实现)
💻 CPP
字号:
#include "httpresponsion.h"
#include <sys/socket.h>
#include <netinet/in.h>
#include <iostream>
#include <string>
#define MAX_PATH 255
using namespace std;
CHttPresponsion::CHttPresponsion(void)
{
}

CHttPresponsion::~CHttPresponsion(void)
{
}

void CHttPresponsion::send_head(int sock, int state, int datalength,string &httphead)
{
	//响应短语
        char buff[MAX_PATH];
	m_protocoltype.clear();
	char *str;
	switch(state)
	{
	case 200:
		str="OK";
		break;
	case 400:
		str="Bad Request";
		break;
	case 404:
		str="Not Found";
		break;
	default:
		str="Unknow";
		break;
	}
	
	//发送状态行
        string str1,str2,str3,str4,str5;
         
        cout<<"send the state line"<<endl;
        sprintf(buff,"HTTP/1.0 %d %s\r\n",state,str);
       //	send(sock,buff,strlen(buff),0);
	//响应头
       // str1="\r\n";
        str1+=buff;
        str1+="Server: scnuyun\r\n";
       // str1+="X-Powered-By: ASP.NET\r\n";
        str1+="Date: Sun, 21 May 2006 06:04:36 GMT\r\n";
        str1+="Content-Type: text/html\r\n";
       	// cout<<strlen(buff)<<endl;        
      //send(sock,buff,strlen(buff),0); 
        
 
       /* cout<<"buff"<<strlen(buff)<<endl;
	sprintf(buff,"Content-Type: text/html\r\n");
        
        str3=buff;
        //send(sock,buff,strlen(buff),0);

	//发一空行
        sprintf(buff,"Server: SCNUYUN\r\n");
        str3+=buff;
        str3+="Data: sunday,23-jul-99 12:18:03 GMT \r\n";*/
        str2="Accept-Ranges: bytes\r\n";
        str2+="Last-Modified: Fri,07 Apr 2006 11:39:01 GMT\r\n";
        sprintf(buff,"Content-Length: %d\r\n",datalength);
        str3=buff;
        str3+="\r\n";
        str5=str1+str2+str3;
        httphead.clear();
        httphead=str5;
	//send(sock,str5.data(),str5.size(),0);	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -