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; }