none
Dúvida Socket RRS feed

  • Pergunta

  • Olá pessoal, sou novo no fórum e gostaria de compartilhar uma dúvida.

    Estou programando um cliente C++ usando socket com Visual Studio 2010.

    int result = send(sock,sendbuff,strlen(sendbuff),0);
    


    Após cada bloco de pacotes enviados, eu preciso enviar uma "zero lenght string" para que sejam processados os comandos. Tentei usar "\0" como parâmetro , a função retorna a lenght como 0, não retorna erro mas simplesmente não envia. Se alguém tiver experiência e puder ajudar.

    Obrigado

     

    quarta-feira, 31 de agosto de 2011 13:08

Todas as Respostas

  • Apesar de você passar uma char* no send, o tamanho é indicado em bytes. O strlen volta 0 neste caso, portanto seu \0 não é transmitdo.

    O strlen conta caracteres até encontrar a primeira ocorrencia do \0, que caracteriza uma string C (um array de char com o ultimo elemento zerado). Use send(sock, "", 1, 0) para enviar o \0.


    Fabio Galuppo
    quarta-feira, 31 de agosto de 2011 18:05