c±à³Ì ͨѶÐÒéhttp
Îʸö±È½ÏÈõµÄÎÊÌâ¡£
ÓÃc¿ª·¢£¬·þÎñÆ÷ºÍ¿Í»§¶ËµÄ³ÌÐò£¬Í¨Ñ¶ÐÒéÓÃhttp¡£
²»ÖªµÀÔõôÈëÊÖÁË£¬ÊDz»ÊÇsocket±à³Ì£¿»¹ÊÇÓ¦¸Ã¿´ÄÄЩ·½ÃæµÄ¼¼Êõ
ÓÐÏֳɵÄhttp¿â ÄÃÀ´ÓÃ
×Ô¼ºÐ´socketÂé·³ËÀÁË
ÍøÉÏÕÒµã´úÂ룡 ×Ô¼ºÐ´ÄÜ·³ËÀ£¡
ллÁË
ÏÖÔÚÓÐÄÄЩhttp¿â£¬±È½Ï³£Óõģ¿
¶¥Ò»Ï£¡
C/C++ code:
#include<iostream>
#include<map>
#include<stdlib.h>
#include<signal.h>
#include<errno.h>
#include<unistd.h>
#include<string.h>
#include<sys/resource.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<fcntl.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<sys/socket.h>
#define PORT 80
#define BUFSIZE 8196
#define LISTENQ 64 //
using namespace std;
struct client_t{
int fd;
int state;
unsigned int pois;
string ip;
string read_buf;
string write_buf;
//http request
string method_req;
string url;
string http_v;
string host;
client_t(){
fd=0;
state=0;//¶Áд״̬£¬0-¶Á£¬1-д
pois=0;
ip.clear();
read_buf.reserve(BUFSIZE);
write_buf.reserve(BUFSIZE);
method_req.clear();
Ïà¹ØÎÊ´ð£º
±àÒëÆÕͨµÄcûÎÊÌâ°¡£¬µ«±àÒëjavahÉú³ÉµÄ¾Í±¨´í£º
gcc -O0 -g3 -Wall -c -fmessage-length=0 -oHelloWorld.o ..\HelloWorld.c
gcc -otest.exe HelloWorld.o
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../. ......
µØµãÔÚÉîÛÚÄÏɽ
¡¡¡¡×öCÈí¼þ¡£ÊÔÓÃ2K£¬²»ÖªµÀתÕý¸ø¹«Ë¾Ì¸¶àÉÙºÏÊʰ¡£¿
¡¡¡¡ÁíÍ⣬±¾ÈËС±¾£¬Ó¢ÓïÁù¼¶£¬ÊÔÓÃÈý¸öÔ±íÏÖµÃÒ²ËãÖÐÉÏˮƽ¡£µ«ÊÇÏÖÔÚ»¹²»ÄÜ×öÏîÄ¿¡£ÁíÍâ±ÏҵѧУûÓÐÃûÆø¡£
¡¡¡¡×ªÕý¸ø¹«Ë¾Ì¸¶àÉ ......
ÏëÖªµÀÿÌõÖ¸Áî»òº¯ÊýµÄϵͳÏûºÄ¡£±ÈÈçϵͳִÐÐint a=0£»µÄ¿ªÏúÊǶàÉÙ¡£ÓÐûÓÐÀàËÆµÄÎĵµÖ®ÀàµÄ¡£²»ÒªºÍÎÒ˵ÓÃʲôclock()º¯ÊýÀ´²âÊÔ¡£ÎÒÏëÒªÏà¹Ø×ܽáºÃµÄÎĵµ
ÏÈ·´»ã±à,È»ºóÄÃ×ÅcpuµÄÖ¸ÁîÊÖ²á²éÿÌõÖ¸ÁîµÄʱ¼äÖÜÆÚ ......
ÔÚCÀÊý×鵨ַºÍÊý×éÊ×µØÖ·ÆäʵÊÇÒ»»ØÊ°ɣ¿Êý×鵨ַ¾ÍÊÇÊý×éÊ×µØÖ·£¬¶Ô°É£¿
²»Ì«Àí½â¡°Êý×éÊ×µØÖ·¡±¡¡ÊDz»ÊÇ˵Ê×ÔªËØµÄµØÖ·£¿
Èç¹ûÊǵϰ£¬ÖµÏàͬ£¬ÀàÐͲ»Í¬¡£
ÊÇ!
ÎÒµÄÀí½âÊÇÕâÑùµÄ.
¸ÅÄîÊÇÎ ......
exit() ºÍreturn ;½áÊøµÄÇø±ðºÍÓÅȱµã
ÎÒ²»Ì«Ã÷°×exit() ËüÊÇÖ±½ÓÍ˳ö³ÌÐòÂð ËüÏÂÃæÒªÊÇ»¹Óк¯Êý»¹ÄÜÖ´ÐÐÂð
Èç
void a()
{
exit();
}
void b()
{
...
}
bÄÜÖ´ÐÐÂð
......