⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serversocket.cpp

📁 图象处理
💻 CPP
字号:
// ServerSocket.cpp: implementation of the CServerSocket class.
//
//////////////////////////////////////////////////////////////////////

#include "ServerSocket.h"
#include <string.h>

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CServerSocket::CServerSocket(bool bCreateAtOnce,unsigned int uiPort)
{
	if (uiPort&&bCreateAtOnce) Create(uiPort);
}

CServerSocket::~CServerSocket()
{
//	if (bRunning)
//		Stop();
}

bool CServerSocket::Create(unsigned int uiPort)
{
	CSocketBase::Create();
	Bind(uiPort);
	return true;
}

bool CServerSocket::Listen(int iQueuedConnections)
{
	if( 0==iQueuedConnections )
		return false;

	if( listen(m_hSocket, iQueuedConnections) == SOCKET_ERROR )
	{
		return false;
	}
	return true;
}

bool CServerSocket::Bind(unsigned int uiPort)
{
	if( 0==uiPort )
		return false;

	memset( &m_sockaddr,0, sizeof( m_sockaddr ) );
	m_sockaddr.sin_family = AF_INET;
	m_sockaddr.sin_addr.s_addr = htonl(INADDR_ANY);
	m_sockaddr.sin_port = htons( uiPort );

	if ( bind(m_hSocket, (SOCKADDR*)&m_sockaddr, sizeof(m_sockaddr)) == SOCKET_ERROR )
	{
		return false;
	}

	return true;
}

SOCKET CServerSocket::Accept(sockaddr_in* rAddr)
{	
	socklen_t iLen = sizeof( sockaddr_in );

	memset( rAddr, 0, iLen );

	return accept(m_hSocket, (SOCKADDR*)rAddr, &iLen);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -