【问题标题】:Socket Programming. issue with connect(...) api套接字编程。 connect(...) api 的问题
【发布时间】:2012-08-09 05:45:59
【问题描述】:

在我的网络编程项目(在 Visual C++ 中)中,我遇到了一个关于 connect(...) api 的问题。 connect()的代码段如下。

if (connect(sockfd[0], &sock.addr, sizeof(sock.inaddr)) == SOCKET_ERROR){
    wprintf(L"connect function failed with error: %ld\n", WSAGetLastError());
    closesocket(sockfd[0]);
    WSACleanup();
}

对于上述代码,我遇到以下编译错误,这没有意义,因为 connect 需要 3 个参数。

error C2660: 'SampleClass::connect' : function does not take 3 arguments

谁能帮我弄清楚我在这里缺少什么。

【问题讨论】:

    标签: c++ winapi sockets networking network-programming


    【解决方案1】:

    您正在尝试调用类成员连接。在连接前加上 :: 以便找到正确的函数。

    if (::connect(sockfd[0], &sock.addr, sizeof(sock.inaddr)) == SOCKET_ERROR){ 
    

    【讨论】:

      【解决方案2】:

      您的班级似乎有自己的 connect 方法,请尝试调用 ::connect,这应该会给您提供“标准”方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-10-06
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多