FtpSocket::FtpSocket(void)
{
int iResult;
iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0)
{
}
m_Sockt = WSASocket(AF_INET,
SOCK_STREAM,
IPPROTO_TCP,
NULL,
0,
WSA_FLAG_OVERLAPPED);
if (m_Sockt == INVALID_SOCKET)
{
WSAGetLastError();
WSACleanup();
}
}
BOOL FtpSocket::Connect(const char* server_addr,int server_port)
{
char recvbuf[1024];
int recvbuflen = 1024;
m_Server.sin_family = AF_INET;
m_Server.sin_addr.s_addr = inet_addr(server_addr);
m_Server.sin_port = htons(server_port);
if ( connect(m_Sockt, (SOCKADDR*) &m_Server, sizeof(m_Server) ) == SOCKET_ERROR) {
WSACleanup();
return FALSE;
}
int iBytes;
while (true)
{
try
{
iBytes = recv(m_Sockt, recvbuf, recvbuflen, 0);
if (iBytes == 0)
{
break;
}
}
catch( char * str )
{
}
}
return TRUE;
}
FtpSocket::~FtpSocket(void)
{
WSACleanup();
}