Example #1
0
void CBaseSocket::OnRead()
{
    if (m_state == SOCKET_STATE_LISTENING)
    {
        _AcceptNewSocket();
    }
    else
    {
        u_long avail = 0;
        if ( (ioctlsocket(m_socket, FIONREAD, &avail) == SOCKET_ERROR) || (avail == 0) )
        {
            m_callback(m_callback_data, NETLIB_MSG_CLOSE, (net_handle_t)m_socket, NULL);
        }
        else
        {
            m_callback(m_callback_data, NETLIB_MSG_READ, (net_handle_t)m_socket, NULL);
        }
    }
}
Example #2
0
void CBaseSocket::OnRead()
{
	if (m_state == SOCKET_STATE_LISTENING)
	{
		_AcceptNewSocket();
	}
	else
	{
		u_long avail = 0;
		int nRet = ioctlsocket(m_socket, FIONREAD, &avail);
		if ( (nRet == SOCKET_ERROR) || (avail == 0) )
		{
			m_Notify->OnClose((net_handle_t)m_socket);
		}
		else
		{
			m_Notify->OnRead((net_handle_t)m_socket);
		}
	}
}