套接字编程。 connect(...)api的问题

时间:2012-08-09 05:46:00

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

在我的网络编程项目中(在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();
}

对于上面提到的代码我正在接受编译错误,这没有意义,因为连接应该采用3个参数。

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

任何人都可以帮我弄清楚我在这里缺少什么。

2 个答案:

答案 0 :(得分:3)

您正在尝试呼叫类成员连接。使用::前缀连接,以便找到正确的函数。

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

答案 1 :(得分:0)

看起来您的类有自己的 connect方法,请尝试调用::connect,这应该会为您提供“标准”方法。