I was making this program and the server wont send to the client

Posted by crstin on Stack Overflow See other posts from Stack Overflow or by crstin
Published on 2010-03-12T08:21:14Z Indexed on 2010/03/12 8:27 UTC
Read the original article Hit count: 129

Filed under:
void CApplication::SendData( const char pBuffer[] )
{
    if( pBuffer == NULL )
    {
        Log()->Write( ELogMessageType_ERROR, "Cannot send NULL message.");
        return;
    }
    // calculate the size of that data
    unsigned long messageSize = strlen( pBuffer );

    // fix our byte ordering
    messageSize = htonl( messageSize );

    if( isServer == true )
    {
        for( unsigned int i = ESocket_CLIENT0; i < ESocket_MAX; ++i )
        {
            // send the message size
            if( m_Socket[ i ] > 0 )
            {
                if( send( m_Socket[ i ], (char*)&messageSize, sizeof( messageSize ), 0 ) == SOCKET_ERROR )
                {
                    Log()->Write( ELogMessageType_ERROR, "[Application] Send error: %i to socket %i", WSAGetLastError(), m_Socket[ i ] );
                    continue;
                }

                // fix our message size back to host ordering
                messageSize = ntohl(messageSize);

                // send the actual message
                if( send( m_Socket[ i ], pBuffer, messageSize, 0 ) == SOCKET_ERROR )
                {
                    Log()->Write( ELogMessageType_ERROR, "[Application] Send error: %i to socket %i", WSAGetLastError(), m_Socket[ i ] );
                    continue;
                }

                Log()->Write( ELogMessageType_MESSAGE, "[Application] SEND: %s", pBuffer );
            }
        }
    }

© Stack Overflow or respective owner

Related posts about c++