91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.21MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-03
  • 語言: C/C++
  • 標簽: VC++??自動更新??

資源簡介

用VC++實現的軟件自動更新模塊 Updater.exe源碼。主程序從服務器下載配置文件后對比本地配置文件,有新版本則打開Updater.exe進行自動更新,可以顯示需要下載的文件列表,文件大小,文件下載狀態等。CSDN我找了,沒有比我這個更好的了。

資源截圖

代碼片段和文件信息

#include?“stdafx.h“
#include?“HttpSocket.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

#define?MAXHEADERSIZE?1024
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CHttpSocket::CHttpSocket()
{
m_s=NULL;
m_phostent=NULL;
m_port=80;

m_bConnected=FALSE;

for(int?i=0;i<256;i++)
m_ipaddr[i]=‘\0‘;
memset(m_requestheader0MAXHEADERSIZE);
memset(m_ResponseHeader0MAXHEADERSIZE);

m_nCurIndex?=?0; //
m_bResponsed?=?FALSE;
m_nResponseHeaderSize?=?-1;
}

CHttpSocket::~CHttpSocket()
{
CloseSocket();
}

BOOL?CHttpSocket::Socket()
{
if(m_bConnected)
return?FALSE;

struct?protoent?*ppe;?

WORD?wVersionRequested;
WSADATA?wsaData;
int?err;

wVersionRequested?=?MAKEWORD(?2?2?);

err?=?WSAStartup(?wVersionRequested?&wsaData?);

ppe=getprotobyname(“tcp“);?
int?nErr?=?WSAGetLastError();

//創建SOCKET對象
m_s=socket(PF_INETSOCK_STREAMppe->p_proto);
if(m_s==INVALID_SOCKET)
{
MessageBox(NULL“socket()函數執行失敗!““錯誤“MB_OK);
return?FALSE;
}

return?TRUE;

}

BOOL?CHttpSocket::Connect(char?*szHostNameint?nPort)
{
if(szHostName==NULL)
return?FALSE;

///若已經連接則先關閉
if(m_bConnected)
{
CloseSocket();
}

///保存端口號
m_port=nPort;

///根據主機名獲得IP地址
m_phostent=gethostbyname(szHostName);
if(m_phostent==NULL)
{
MessageBox(NULL“gethostbyname()函數執行失敗!““錯誤“MB_OK);
return?FALSE;
}

///連接
struct?in_addr?ip_addr;
memcpy(&ip_addrm_phostent->h_addr_list[0]4); ///h_addr_list[0]里4個字節每個字節8位

struct?sockaddr_in?destaddr;
memset((void?*)&destaddr0sizeof(destaddr));?
destaddr.sin_family=AF_INET;
destaddr.sin_port=htons(80);
destaddr.sin_addr=ip_addr;

///保存主機的IP地址字符串
sprintf(m_ipaddr“%d.%d.%d.%d“
destaddr.sin_addr.S_un.S_un_b.s_b1
destaddr.sin_addr.S_un.S_un_b.s_b2
destaddr.sin_addr.S_un.S_un_b.s_b3
destaddr.sin_addr.S_un.S_un_b.s_b4);
/*inet_addr();把帶點的IP地址字符串轉化為in_addr格式;
??inet_ntoa();作用相反*/

/*注意理解sturct?in_addr?的結構:一個32位的數;一共同體的形式使用
(1)每8位一個即s_b1~s_b4;
(2)每16位一個即s_w1~s_w2;
(3)32位s_addr
struct???in_addr?{
????union???{
??struct{
unsigned??char???s_b1
?s_b2
?s_b3
?s_b4;
}?S_un_b;
??????????????struct{
unsigned??short??s_w1
?????????????????????????????????s_w2
????????}S_un_w;??????
???????????????unsigned?long??S_addr;
}?S_un;
};
*/

if(connect(m_s(struct?sockaddr*)&destaddrsizeof(destaddr))!=0)
{
//CloseSocket();
//m_s=NULL;
MessageBox(NULL“connect()函數執行失敗!““錯誤“MB_OK);
return?FALSE;
}

///設置已經連接的標志
m_bConnected=TRUE;
return?TRUE;
}

///根據請求的相對URL輸出HTTP請求頭
const?char?*CHttpSocket::FormatRequestHeader(char?*pServerchar?*pobject?long?&Length
??char?*pCookiechar?*pRefererlong?nFrom
??long?nToint

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5676??2015-03-15?20:55??Updater\Updater\Updater.vcproj

?????文件???????2763??2015-03-14?20:44??Updater\Updater\ReadMe.txt

?????文件???????8272??2015-03-15?23:24??Updater\Updater\UpdaterDlg.cpp

?????文件????????443??2015-03-15?23:24??Updater\Updater\Update.ini

?????文件????????447??2015-03-14?20:44??Updater\Updater\Updater.h

?????文件???????1355??2013-12-19?20:15??Updater\Updater\HttpSocket.h

?????文件???????8225??2015-03-14?16:43??Updater\Updater\HttpSocket.cpp

?????文件???????1095??2015-03-15?22:08??Updater\Updater\UpdaterDlg.h

?????文件???????1660??2015-03-14?20:44??Updater\Updater\Updater.cpp

?????文件??????81424??2015-03-15?23:12??Updater\Updater\Updater.aps

?????文件???????4782??2015-03-15?23:12??Updater\Updater\Updater.rc

?????文件???????1796??2015-03-14?20:44??Updater\Updater\stdafx.h

?????文件???????1030??2015-03-14?20:44??Updater\Updater\targetver.h

?????文件????????138??2015-03-14?20:44??Updater\Updater\stdafx.cpp

?????文件????????363??2015-03-14?20:44??Updater\Updater\res\Updater.rc2

?????文件??????32438??2015-03-14?21:10??Updater\Updater\res\BACK.bmp

?????文件??????12902??2015-03-14?21:23??Updater\Updater\res\Updater.ico

?????文件???????9662??2015-03-14?21:20??Updater\Updater\res\www.ico.la_6d549c05aa6732c4ec7450ff2e41ad8c_48X48.ico

?????文件????????350??2015-03-14?21:20??Updater\Updater\res\www.ico.la_40f252faabf48c65f1cab9986eef47e4_8X8.ico

?????文件???????1150??2015-03-14?21:20??Updater\Updater\res\www.ico.la_b81dbf28942b701f5eaa6f90660e7102_16X16.ico

?????文件???????6710??2015-03-14?21:19??Updater\Updater\res\3.png

?????文件???????4286??2015-03-14?21:20??Updater\Updater\res\www.ico.la_2f68143984a85edd83030e97d17d027c_32X32.ico

?????文件??????51771??2015-03-14?21:04??Updater\Updater\res\20140129205802859.png

?????文件???????1427??2015-03-15?23:28??Updater\Updater\Updater.vcproj.QH-20141228FCRX.Administrator.user

?????文件????????724??2015-03-14?21:43??Updater\Updater\Resource.h

?????文件???????1337??2015-03-14?22:57??Updater\Updater.sln

????..A..H.?????34816??2015-03-15?23:28??Updater\Updater.suo

?????文件????????391??2015-03-15?23:29??Updater\Debug\Update.ini

?????文件????1937408??2015-03-15?15:32??Updater\Debug\Test.exe

?????文件????1998336??2015-03-15?23:24??Updater\Debug\Updater.exe

............此處省略32個文件信息

評論

共有 條評論