垃圾代码

#include "stdafx.h"
#include <afxsock.h>

char pdata[256*16];
char current_ver[]="1.1.1001";

bool Update(char* Version)
{
 printf("(%s)", Version);
 // 将指定版本下载到临时目录中
 // x.xx.xxxx.tmp
 char cmd[256];
 char buffer[1];
 sprintf(cmd, "GET http://localhost/%s.core HTTP/1.1/r/nHost: localhost/r/n/r/n", Version);
 SOCKET sock;
 struct sockaddr_in blah;
 struct hostent *he;
 WSADATA wsaData;
 WORD wVersionRequested=MAKEWORD(1,1);
 if (WSAStartup(wVersionRequested , &wsaData))
  return false;
 if ((sock=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET)
  return false;
 sock = socket(AF_INET,SOCK_STREAM,0);
 blah.sin_family = AF_INET;
 blah.sin_port = htons(80);
 blah.sin_addr.s_addr= inet_addr("localhost");

 if ((he=gethostbyname("localhost"))!=NULL)
 {
  memcpy((char *)&blah.sin_addr.s_addr,he->h_addr,he->h_length);
 }
 else
 {
  if((blah.sin_addr.s_addr=inet_addr("localhost"))==INADDR_NONE)
  {
   WSACleanup();
   return false;
  }
 }

 if (connect(sock,(struct sockaddr*)&blah,sizeof(blah))==0)
 {
  send(sock, cmd, strlen(cmd), 0);
  FILE* fp;
  fp=fopen("tmp", "wb");
  while(recv(sock, buffer, 1, 0)!=0)
  {
   printf(".");
   fwrite(buffer, 1, 1, fp);
  }
  fclose(fp);
  closesocket(sock);
  WSACleanup();
 }

 closesocket(sock);
 WSACleanup();
// printf("%s/n", pdata);


 // 下载完成之后将名称更改成正式名称
 // x.xx.xxxx.core
 return true;
 return false;
}

char* GetCurrentVer()
{
 return current_ver;
}

int GetConfigSize()
{
 return strlen(pdata);
}

void init()
{
 // 从远程读取配置文件 http://localhost/version.txt
 char cmd[]="GET http://localhost/version.txt HTTP/1.1/r/nHost: localhost/r/n/r/n";
 SOCKET sock;
 struct sockaddr_in blah;
 struct hostent *he;
 WSADATA wsaData;
 WORD wVersionRequested=MAKEWORD(1,1);
 if (WSAStartup(wVersionRequested , &wsaData))
  return;
 if ((sock=socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET)
  return;
 sock = socket(AF_INET,SOCK_STREAM,0);
 blah.sin_family = AF_INET;
 blah.sin_port = htons(80);
 blah.sin_addr.s_addr= inet_addr("localhost");

 if ((he=gethostbyname("localhost"))!=NULL)
 {
  memcpy((char *)&blah.sin_addr.s_addr,he->h_addr,he->h_length);
 }
 else
 {
  if((blah.sin_addr.s_addr=inet_addr("localhost"))==INADDR_NONE)
  {
   WSACleanup();
   return;
  }
 }

 if (connect(sock,(struct sockaddr*)&blah,sizeof(blah))==0)
 {
  send(sock, cmd, strlen(cmd), 0);
  recv(sock, pdata, sizeof(pdata), 0);
  closesocket(sock);
  WSACleanup();
 }

 closesocket(sock);
 WSACleanup();
 strcpy(pdata, strstr(pdata, "# start"));
// strcat(pdata, "/0");
 printf("%s/n", pdata);
}

char* GetConfigData()
{
 return pdata;
}

char* GetLastestVer()
{
 init();
 int size=GetConfigSize();
 char* ptxt;
 ptxt=(char*)malloc(sizeof(char)*size);
 strcpy(ptxt, GetConfigData());

 char line[256];
 int i=0;
 int l=0;
 while( i < strlen(ptxt) )
 {
  l=0;
  while(ptxt[i] != '/n' && ptxt[i]!='/r')
  {
   line[l]=ptxt[i];
   l++;
   i++;
   line[l]='/0';
  }

  char* offset;
  if(offset=strstr(line, "kernel_version"))
  {
   if(offset=strstr(line, "="))
   {
    return  &offset[1];
   }
  }
  i++;
 }
 return NULL;
}

bool HaveNewerVer()
{
 return false;
 return true;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值