C ++套接字的send()导致系统错误10053

时间:2011-03-20 10:29:29

标签: c++ windows sockets send


我正在尝试从我的客户端向我的服务器发送消息(目前它们都在同一个进程中运行,但我认为这不重要)。
连接建立得很好(我可以用“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 个答案:

答案 0 :(得分:2)

那是WSAECONNABORTED,这意味着您的本地计算机已经终止连接。可能是防火墙问题?

答案 1 :(得分:2)

我太蠢了......:/
我在MySocket期间创建了这个类Accept,但是在它的析构函数中,我关闭了socekt。 谢谢大家:)