Example #1
0
CSocket*	CSocket::accept()
{
	int fromSize = sizeof(sockaddr_in);
	sockaddr_in from;
	SOCKET conSock = ::accept(m_sock, (sockaddr *)&from, &fromSize);
	if (conSock ==  INVALID_SOCKET)
		return NULL;

	// 接続があった
    CSocket*	pSocket = new CSocket;
	pSocket->m_sock = conSock;

	pSocket->m_fromHost.port = from.sin_port;
	pSocket->m_fromHost.ip = from.sin_addr.S_un.S_un_b.s_b1<<24 |
				  from.sin_addr.S_un.S_un_b.s_b2<<16 |
				  from.sin_addr.S_un.S_un_b.s_b3<<8 |
				  from.sin_addr.S_un.S_un_b.s_b4;


	pSocket->_setBlocking(false);
	pSocket->_setBufSize(65535);

	return pSocket;
}