IRC без идентификатора ответа (C++)

Итак, я создаю бота для мониторинга моего канала IRC, и я не могу заставить его зарегистрировать идентификатор, я не знаю почему, вот мой код

  int count = 0;
int BeginReceive() {
    do {
        initResult = recv(bobSocket, recvbuf, recvbuflen, 0);

        if (initResult > 0) {
            printf(recvbuf);
            count++;
            std::cout << count << std::endl;
            switch (count) {
            case 2:
                Send("USER jackolalno :hello");
                Send("NICK jackololno");
                break;
            case 3:
                Send("JOIN ##bob");
            default:
                break;
            }
        }
        else if (initResult == 0) {
            printf("Connection closed\n");
        }
        else {
            printf("recv failed: %d\n", WSAGetLastError());
            return 1;
        }
    } while (initResult > 0);
 }

1 ответ

Решение

В вашей команде USER отсутствуют значения.

Он должен содержать четыре параметра, из которых второй и третий могут быть просто заполнены заполнителем, например, "*". См.: https://tools.ietf.org/html/rfc1459.

Скорее всего, вы также не работаете с серверным сервером на порту 113, но это не является обязательным в соответствии с RFC1459.

Надеюсь это поможет!

Другие вопросы по тегам