Функция send () сокета C ++ вызывает системную ошибку 10053 - PullRequest
2 голосов
/ 20 марта 2011


Я пытаюсь отправить сообщение от моего клиента на мой сервер (в настоящее время они работают в одном и том же процессе, но я не думаю, что это имеет значение).
Соединение установлено хорошо (я вижу это с "CurrPorts" - гораздо более удобным для пользователя, чем TcpView). Но затем, когда я отправляю сообщение, я получаю сообщение об ошибке:
«Установленное соединение было прервано программным обеспечением на вашем хост-компьютере». (номер 10053)
а затем разрывается соединение ...

вот соответствующий код:

bool Client::Send(void* msg, int size)
{
    int sockId = m_socket.GetId();
    struct sockaddr_in remote = m_socket.GetRemotePoint().GetBasePoint();
    const char* buf = (const char*)msg;
    int error = send(sockId, buf, size, 0);
    //int g = GetLastError();
    //if (g != 0)
    //{
    //  g = g;
    //}
    return (error != -1);
}

Кто-нибудь знает, что происходит?
спасибо:)

Ответы [ 2 ]

2 голосов
/ 03 апреля 2011

Я так глуп ...: /
У меня есть этот класс MySocket, который я создаю в течение Accept, но в его деструкторе я ЗАКРЫВАЮ СОСЕКТ.*

2 голосов
/ 02 апреля 2011

Это WSAECONNABORTED, что означает, что ваша локальная машина разорвала соединение. Возможно проблема с брандмауэром?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...