Example #1
0
BOOL CServerSocet::StartServer(CString* sError)
{

	if(bCreateSocket)
		CloseSocket(sError);
	
	if(!bInitWinSocket)
		if (!StartWinSock(sError)) return FALSE;
	if (!SocketGetHostName(sError)) return FALSE;
	if (!CreateSocket(sError)) return FALSE;
	if (!LinkSoketPort(sError)) return FALSE;
	if (!LinkWindowSocket(hWnd,sError)) return FALSE;
	if (!ListenSocket(sError)) return FALSE;

	sokClientSocket = new stSockets *[iMaxCol];
	int i;
	for(i=0;i<iMaxCol;i++)
	{
		sokClientSocket[i] = new (stSockets);
		sokClientSocket[i]->dBase = NULL;
		sokClientSocket[i]->sUserIP = _T("");
		sokClientSocket[i]->bAdmin = FALSE;
		sokClientSocket[i]->sDataStart = _T("");
		sokClientSocket[i]->sok = NULL;
		sokClientSocket[i]->hThread = 0;
	}	
	bStatus = TRUE;
	return TRUE;
}
Example #2
0
int CXSPAsyncSocket::Start(const char *ip,
		const int port,
		const int style,
		const int lThrNum,
		const int rThrNum,
		const int wThrNum)
{
	int sockid = AsyncSocketCreate(ip, port, style);
	if(sockid > 0)
	{
		ListenSocket();
		this->CreateThread(lThrNum, m_thrAttr, PTHREAD_SCOPE_SYSTEM, PTHREAD_CREATE_DETACHED);
	}
	return 0;
}
Example #3
0
FTPd::FTPd(void)
{
	WSAData wdata;

	if (WSAStartup(MAKEWORD(2, 2), &wdata) != 0) {
		std::cerr << "WSAStartup() failed" << std::endl;
	}

	InitSocket();
	BindSocket();
	ListenSocket();

	GetLocalIP();
	LoadLocalHostname();
}
Example #4
0
////////////////////////////////////////////////////////////////////////////////
/// 名   称:TCPSocket::Init
/// 功   能:初始化对象
/// 参   数:void
/// 返回 值:bool                       public
////////////////////////////////////////////////////////////////////////////////
bool TCPSocket::Init()
{
    // 读取配置文件
    if (!LoadConfig())
    {
        return false;
    }
    // 设置读写ID口文件最大数
    SetLimitMax();
    // 显示当前Socket配置情况
    if (!ShowSocketStatus())
    {
        return false;
    }
    // 初始化线程池
    if (!ThreadPollInit())
    {
        return false;
    }
    // 屏蔽多重发送的报错信号
    if (!MaskSignal())
    {
        return false;
    }
    // 创建Socket
    if (!CreateSocket())
    {
        return false;
    }
    // 创建Epoll
    if (!CreateEpoll())
    {
        return false;
    }
    // 绑定Socket
    if (!BindSocket())
    {
        return false;
    }
    // 开启监听该Socket
    if (!ListenSocket())
    {
        return false;
    }
    return true;
}