📄 serversocket.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 + -