Linux Socket HTTPÇëÇóµÄÎÊÌ⣬¸ßÊÖ½ø£¡
СµÜ×î½üÐèÒªÒ»¸öÓÃsocket»ñÈ¡htmlÎĵµµÄ´úÂ룬µ«ÊÇÀÏÊDz»ÄÜ»ñÈ¡ÍêÕûµÄhtmlÔ´Âë¡£ÔÒò²»Ã÷£¬Íû¸ßÊÖÖ¸µã£¡
C/C++ code:
char *Http_GET(char *host,int port,char *data) //·¢ËÍGETÇëÇó
{
char response[204800],http_request[2048],*ret; //½ÓÊÕÊý¾ÝµÄ»º³åÇø´óС200k ÇëÇóÄÚÈÝ»º³åÇø2k
struct hostent *get_ip_addr; //ÍøÂçµØÖ·µÄÊý¾Ý½á¹¹hostent
get_ip_addr = gethostbyname(host); //µ÷ÓÃgethostbyname»ñÈ¡Ö÷»úipµØÖ·£¬·ÅÈë½á¹¹Ìâget_ip_addr
struct sockaddr_in remote_host; //ÍøÂçsocket½á¹¹remote_host
remote_host.sin_family = AF_INET; //ʹÓÃTCP£¯IP
remote_host.sin_port = htons(port); //Ô¶³Ì¶Ë¿Ú
memcpy(&remote_host.sin_addr.s_addr,get_ip_addr->h_addr_list[0],sizeof(get_ip_addr->h_addr_list[0]));//»ñȡһ¸öIP°ÑËû·ÅÈëremote_host.sin_addr.s_addrµÄÄÚ´æ¿Õ¼ä
int remote_std = socket(AF_INET,SOCK_STREAM,0); //´ò¿ªsocket£¬²¢¶¨ÒåÌ×½Ó×Öremote_std
connect(remote_std,(struct sockaddr*)&remote_host,sizeof(remote_host)); //Á¬½ÓÄ¿±êÖ÷»ú
memset(http_request,'\0',sizeof(http_request)); //½«ÇëÇóÄÚÈݵÄÄÚ´æ¿Õ¼äÖÿÕ
// sprintf(http_request,get_format,data); //дÈëhttpÇëÇóÄÚÈÝ
strcpy(http_request,"GET /FT_class.php?t_type=h2&id=361\r\nHost: 60.248.11.100\r\nConnection: Close\r\n\r\n");
send(remote_std,http_request,strlen(http_request),0); //·¢ËÍÇëÇó
recv(remote_std,response,sizeof(response),0); //½ÓÊÕ·µ»Ø£
Ïà¹ØÎÊ´ð£º
¸ø¸öµØÖ·£¬»òÕß·¢µ½ÎÒÓÊÏäÒ²ÐÐ wrongagain98@163.com
×îºÃÊÇÊÓÆµµÄ£¬²»ÊÇÊÓÆµÆÕͨµÄÒ²ÐС£
Ö÷ÒªÊÇÁ½·½Ã棺
1.ÔõÑù±à¼¡¢±àÒëºÍµ÷ÊÔ³ÌÐò¡£Ï£ÍûÄÜÒ»²½²½½²Çå³þ£¬ÈçºÎ°²×°¡¢ÈçºÎÅäÖõȡ£²»Òª¾Íֻ˵¾ä¡°¾ÍÓ ......
ÔÚlinuxÉÏʹÓÃtomcat·þÎñÆ÷³öÏÖÁ˺ܶàclose_wait
ʹÓÃä¯ÀÀÆ÷·ÃÎʵÄʱºò³öÏÖÒ³ÃæÒ»Ö±ÔÚÇëÇ󣬺ÜÂý £¬»ù±¾ÉÏûÓлØÓ¦¡£
ÓÃnetstat -anp ²é¿´ Óкܶàclose_wait
Õâ¸öÊÇʲôÒýÆðµÄ°¢ £¬Ôõô½â¾ö£¿
......
ÐèÒªÔÚlinuxÏÂÓÃÖжϷ½Ê½À´Ð´Ò»¸ö´®¿ÚµÄ³ÌÐò£¬ÏÖÔÚûÓÐ˼·£¬ÍøÉÏÓÐÈË˵ÓÃselect,signal,taskletº¯ÊýµÄ£¬µ«ÊÇÎÒû¿´¶®£¬Ï£ÍûÓÐ×ö¹ýµÄ¸øÒ»ÏÂÀý³Ì£¬¶àл£¡
¾ÍÊÇÄܹ»µ±´®¿ÚÊý¾ÝÀ´ÁÙʱ×Ô¶¯Í¨Öª´®¿Ú¶ÁÈ¡Êý¾Ý£¬ÀàËÆÓÚÖÐ ......
• ʵÑéÄ¿µÄ
ͨ¹ý±¾ÊµÑ飬Á˽âLinuxϵͳµÄ×éÖ¯ºÍÐÐΪ£¬¹Û²ì¸÷Öִ洢ϵͳ״̬ÐÅÏ¢µÄÄں˱äÁ¿£»ÊìϤÕâЩ½á¹¹ÓëÐÅÏ¢¡£
• ʵÑéÄÚÈÝ
±àд³ÌÐò´òÓ¡³öÈç ......
ÎÒĿǰÔÚ±¾µØµÄlinuxÉÏдÁËÒ»¸öswingµÄ½çÃæ£¬Ïëͨ¹ýÕâ¸ö½çÃæÀ´¿ØÖÆÆäËüµçÄÔµÄlinuxÖØÆô¡£
ÎÒÖªµÀÓÃRuntime.getRuntime().exec("shutdown -r");¿ÉÒÔ¿ØÖƱ¾»úLinuxÖØÆô£¬µ«ÊÇÔõô¿ØÖÆÔ¶³ÌµÄlinuxÖØÆôÄØ£¿ ......