Я пишу IRC-клиент на C ++, и в настоящее время у меня возникла проблема, когда при выходе я делаю это:
Send("QUIT :Quit\r\n"); // just an inline, variadic send() wrapper shutdown(m_hSocket, SD_BOTH); closesocket(m_hSocket); WSAShutdown();
Однако проблема в том, что сообщение QUIT не отправляется. Я обнюхал пакеты, поступающие от клиента, и фактически это сообщение никогда не отправляется. Я считаю, что это проблема с сокетом, который не сбрасывается, но я понятия не имею, как это сделать, и Google предложил отключить алгоритм Нэгла, но я сомневаюсь в этом это хорошая практика.
Заранее спасибо.