FTP客户端代码实现demo_v1.0
写的不是特别好,算是初次尝试,还是懂的了不少。写一个Ftp客户端第一件事情应该是初始化winsock。
//////////////////////////////////////////////////////////////////
//author:YSI
//date:2012-04-21
//version:1.0
#include "main.h"
#include "initsock.h"
using namespace std;
CInitSock initSock;//初始化Winsock库
CInitSock类主要是初始化Winsock类的,完成加载Winsock(WSAStartup),确定使用的sock版本等内容。
//////////////////////////////////////////////////////////
// initsock.h文件
#include
#pragma comment(lib, "WS2_32") // 链接到WS2_32.lib
class CInitSock
{
public:
CInitSock(BYTE minorVer = 2, BYTE majorVer = 2)
{
// 初始化WS2_32.dll
WSADATA wsaData;//WSA结构体里有DLL库的详细信息
WORD sockVersion = MAKEWORD(minorVer, majorVer);//将BYTE型的min和maj合并成一个WORD型
if(::WSAStartup(sockVersion, &wsaData) != 0)//加载Winsock库
{
exit(0);
}
}
~CInitSock()
{
::WSACleanup();
}
};
Socket套接字就像是一个窗口一样,而输送的信息就好似传信的鸽子一般,只会飞回到他自己的那个窗口中的巢穴里。
窗口(Socket套接字)在刚开始的使用时需要初始化的。
SOCKET control_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_HOPOPTS); //初始化一个套接字,套接字就好像一个窗口一样
if (control_sock == INVALID_SOCKET)
{
cout
页:
[1]