描連接埠代碼

來源:互聯網
上載者:User

int main()
{
    WSADATA wsData;
    SOCKET sock = INVALID_SOCKET;
    struct sockaddr_in addr;

    char Ip[16] = {0};
    u_short Prot = 16999;
    char data[2048] = { 0 };

    int nRel = 0;
    int index = 0;

    u_long mode = 1;
    struct timeval timeout;

    timeout.tv_sec = 0;
    timeout.tv_usec = 10000*6;

    fd_set w;
    fd_set r;
    
    nRel = WSAStartup(MAKEWORD(2,2), &wsData);
    if(0 != nRel)
    {
        Log("WSAStartup Failed!\n");
        getchar();
        return 0;
    }
    else
    {
        Log("WSAStartup successful!\n");
    }

    

    for(index=0; index<255; index++)
    {
        sprintf(Ip, "192.168.1.%d", index);

        sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
        if(sock != INVALID_SOCKET)
        {
            OutputDebugString("socket create successful!\n");
        }

        nRel = ioctlsocket(sock, FIONBIO, &mode);
        if(nRel == SOCKET_ERROR)
        {
            Log("ioctlsocket Failed!\n");
        }

        FD_ZERO(&w);
        FD_SET(sock, &w);
        FD_ZERO(&r);
        FD_SET(sock, &r);

        addr.sin_family = AF_INET;
        addr.sin_port = htons(Prot);
        addr.sin_addr.s_addr = inet_addr(Ip);

        nRel = connect(sock, (sockaddr*)(&addr), sizeof(addr));

        nRel = select(0, 0, &w, 0, &timeout);
        if((nRel == SOCKET_ERROR) || (nRel == 0))
        {
            printf("connect host:%s:%d failed!\n", Ip, Prot);
            closesocket(sock);
        }
        else
        {
            printf("------------------------------------connect host:%s:%d successful!\n", Ip, Prot);
            select(0, &r, 0, 0, &timeout);
            nRel = recv(sock, data, sizeof(data), 0);
            if(SOCKET_ERROR == nRel)
            {
                printf("Data recv Failed!\n");
            }
            else
            {
                printf("------------------------------------recv Data: %s\n", data);
                closesocket(sock);
            }
        }
    }

    closesocket(sock);
    WSACleanup();

    getchar();
    return 0;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.