在c ++中接收和发送的函数仅返回10057(WSAENOTCONN)?

时间:2013-02-07 22:48:20

标签: c++ winsock2

我正在使用编译器代码:: blocks,每次标题send()的函数recv()winsock2.h都返回10057.代码:

    #include <windows.h>
    #include <winsock2.h>
    #include <iostream>

    using namespace std;

    int main()
    {
        char buffer[256]="Ola";
        int o;
        WSAData wsa;
        WSAStartup(MAKEWORD(2,2),&wsa);
        SOCKET teste = socket (AF_INET,SOCK_STREAM,0);
        SOCKADDR_IN in;
        int tamanho = sizeof(in);
        in.sin_addr.s_addr = inet_addr("MYIP");
        in.sin_family = AF_INET;
        in.sin_port = htons(5200);
        bind(teste,(SOCKADDR*)&in,sizeof(in));
        listen(teste,0);
        cout<<WSAGetLastError()<<endl;//Always shows 0
        while(true){
            if(accept(teste,(SOCKADDR*)&in,&tamanho)){
                send(teste,buffer,strlen(buffer),0);
                cout<<WSAGetLastError()<<endl;//always shows 10057
                break;
            }
        }
        WSACleanup();
    }

0 个答案:

没有答案