本文整理汇总了C++中CSession::getPasvSock2方法的典型用法代码示例。如果您正苦于以下问题:C++ CSession::getPasvSock2方法的具体用法?C++ CSession::getPasvSock2怎么用?C++ CSession::getPasvSock2使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSession
的用法示例。
在下文中一共展示了CSession::getPasvSock2方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PasvThread
unsigned long __stdcall PasvThread(void* pVoid)
{
CSession *session = (CSession*)pVoid;
sockaddr_in remoteAddr_in;
int nLen;
session->m_PasvThreadRunning = true;
log(LOG_DEBUG, "DEBUG - passive thread was started, waiting for incoming connection - PasvThread()\r\n");
nLen = sizeof(sockaddr_in);
// Accept incoming connections on passive port
SOCKET s = accept(session->getPasvSock(), (sockaddr *)&remoteAddr_in, &nLen);
if (s != INVALID_SOCKET) {
log(LOG_DEBUG, "DEBUG - passive thread received a connection (socket %d) - PasvThread()\r\n", s);
if (session->getPasvSock2()!=0) {
session->closePasvSock2();
}
session->setPasvSock2(s);
// session->m_PasvPort = -1;
// log(LOG_DEBUG, "Passive port free.\r\n");
}
session->closePasvSock();
session->getCFtpd()->freePasvPort(session->getPasvPort());
log(LOG_DEBUG, "DEBUG - passive thread was stopped - PasvThread()\r\n");
session->m_PasvThreadRunning = false;
return 0;
}