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); //½ÓÊÕ·µ»Ø£
Ïà¹ØÎÊ´ð£º
дÁ˸ö²âÊÔ³ÌÐòÈçÏÂ
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
ÐèÒªÔÚlinuxÏÂÓÃÖжϷ½Ê½À´Ð´Ò»¸ö´®¿ÚµÄ³ÌÐò£¬ÏÖÔÚûÓÐ˼·£¬ÍøÉÏÓÐÈË˵ÓÃselect,signal,taskletº¯ÊýµÄ£¬µ«ÊÇÎÒû¿´¶®£¬Ï£ÍûÓÐ×ö¹ýµÄ¸øÒ»ÏÂÀý³Ì£¬¶àл£¡
¾ÍÊÇÄܹ»µ±´®¿ÚÊý¾ÝÀ´ÁÙʱ×Ô¶¯Í¨Öª´®¿Ú¶ÁÈ¡Êý¾Ý£¬ÀàËÆÓÚÖÐ ......
cvs¹Ù·½²»ÄÜÏÂÔØÁË£¬Ë¸øÎÒÒ»·Ý£¬×îºÃÓÐÅäÖÃ˵Ã÷µÄÎĵµ¡£¡£¡£Ð»Ð»ÁË
ûÓУ¬°ï¶¥Ò»Ï¡£
¹Ù·½²»ÄÜÏÂÔØ ±ðµÄµØ·½»¹ÓÐÏÂÔØµÄµØ·½ ÎÒ¸Õ²ÅËÑÁË
¸ÕÏÂÔØÁ˸ö¡£¡£¡£ÊDz»ÊDz»µ½4M°¡¡£¡£¡£cvs-1.12.13.1.tar.tar
linu ......
ÎÒĿǰÔÚ±¾µØµÄlinuxÉÏдÁËÒ»¸öswingµÄ½çÃæ£¬Ïëͨ¹ýÕâ¸ö½çÃæÀ´¿ØÖÆÆäËüµçÄÔµÄlinuxÖØÆô¡£
ÎÒÖªµÀÓÃRuntime.getRuntime().exec("shutdown -r");¿ÉÒÔ¿ØÖƱ¾»úLinuxÖØÆô£¬µ«ÊÇÔõô¿ØÖÆÔ¶³ÌµÄlinuxÖØÆôÄØ£¿ ......