RT!

解决方案 »

  1.   

    #include <stdafx.h>
    #include <winsock2.h>
    int main(int argc, char* argv[])
    {
        int errCode;
        struct sockaddr_in myAddr;
        SOCKET mySocket;
        //检测Socket环境
        WSADATA WSAData;
        WSAStartup(MAKEWORD(2,0),(LPWSADATA)&WSAData);
        //以TCP/IP的模式启动一个Socket
        mySocket = socket(AF_INET,SOCK_STREAM,0);
        //设定通信地址
        myAddr.sin_family = AF_INET;
        myAddr.sin_addr.S_un.S_addr = inet_addr("61.135.150.215");
        myAddr.sin_port = htons(atoi("80"));
        //连接服务器
        errCode = connect(mySocket,(struct sockaddr *)&myAddr,sizeof(myAddr));
        if(errCode==SOCKET_ERROR)
        {
            printf("无法连接到 61.135.150.215!\n");
        }
        else
        {
            printf("连接到 61.135.150.215 OK!\n");
        }
        closesocket(mySocket);
    }
      

  2.   

    /******************************************************************
     * Window socket server
     * Copyright C 2004 Notoldtree    Author:LIJIUN
     *
     * Add Ws2_32.lib to project
     * EMail:[email protected]       Date:2004/11/6
     ******************************************************************/#include <stdio.h>
    #include <Winsock2.h>#define PORT 8088
    #define MAX_BUFFER 1024int main()
    {
    char buff[MAX_BUFFER];
    WSADATA wsdata; if(WSAStartup(MAKEWORD(2,0),&wsdata))
    {
    printf("WSAStartup() failed with error:%d\n",WSAGetLastError());
    return 0;
    } char szName[256];
    if(gethostname(szName,256))
    {
    printf("gethostname() failed with error:%d\n",WSAGetLastError());
    return 0;
    } printf("Winsock Edition:%s\n",wsdata.szDescription);
    printf("Host Name:%s\n",szName); SOCKET s = socket(AF_INET,SOCK_STREAM,0);
    if(s == INVALID_SOCKET)
    {
    printf("socket() failed with error:%d\n",WSAGetLastError());
    return 0;
    } SOCKADDR_IN addr;
    memset(&addr,0,sizeof(addr));
    addr.sin_family = AF_INET;
    addr.sin_port = htons(PORT);
    addr.sin_addr.s_addr = htonl(INADDR_ANY); 
    /*
    hostent ent = *gethostbyname(szName);
    addr.sin_addr.S_un.S_un_b.s_b1 = ent.h_addr_list[0][0];
    addr.sin_addr.S_un.S_un_b.s_b2 = ent.h_addr_list[0][1];
    addr.sin_addr.S_un.S_un_b.s_b3 = ent.h_addr_list[0][2];
    addr.sin_addr.S_un.S_un_b.s_b4 = ent.h_addr_list[0][3];
    */
    if(bind(s,(sockaddr*)&addr,sizeof(addr)))
    {
    printf("bind() failed with error:%d\n",WSAGetLastError());
    return 0;
    }

    if(listen(s,5))
    {
    printf("listen() failed with error:%d\n",WSAGetLastError());
    return 0;
    } printf("Begin to listen...\n"); SOCKADDR_IN ClientAddr;
    int addr_length = sizeof(ClientAddr);
    SOCKET recv_s = accept(s,(SOCKADDR*)&ClientAddr,&addr_length);

    // Get client address
    LPCTSTR lpIP = inet_ntoa(ClientAddr.sin_addr);
    printf("Client Address[%s]\n",lpIP); while(1)
    {
    char out_buff[MAX_BUFFER];
    int len = recv(recv_s,buff,sizeof(buff),0);
    if(len <= 0)
    {
    printf("Client already cut connection!\n");
    return 0;
    }

    memcpy(out_buff,buff,len);
    out_buff[len] = '\0';
    printf("%s\n",out_buff);
    if(strcmp(out_buff,"exit") == 0)
    {
    closesocket(s);
    WSACleanup();
    exit(0);
    }
    }
    }
      

  3.   

    /******************************************************************
     * Window socket Client
     * Copyright C 2004 Notoldtree    Author:LIJIUN
     *
     * Add Ws2_32.lib to project
     * EMail:[email protected]       Date:2004/11/6
     ******************************************************************/
    #include <stdio.h>
    #include <Winsock2.h>#define  PORT 8088
    #define MAX_BUFFER 1024void OutErrorMessage();
    int main()
    { char buff[MAX_BUFFER];
    WORD version = MAKEWORD(2,0);
    WSADATA wsadata;

    if(WSAStartup(version,&wsadata))
    {
    OutErrorMessage();
    return 0;
    }

    SOCKET sock = socket(AF_INET,SOCK_STREAM,0);
    sockaddr_in addr;
    addr.sin_family = AF_INET;
    addr.sin_port = htons(PORT);
    addr.sin_addr.S_un.S_addr = inet_addr("192.168.0.125");

    if(connect(sock,(sockaddr*)&addr,sizeof(addr)))
    {
        printf("Find not server!\n");
    return 0;
    } while(1)
    {
    // Input char string
    printf("Send:");
    scanf("%s",buff);
    // Begin send char string
    if(send(sock,buff,strlen(buff),0) <= 0)
    {
    OutErrorMessage();
    return 0;
    }

    if (strcmp(buff,"exit") == 0)
    {
    WSACleanup();
    closesocket(sock);
    exit(0);
    }
    }
    }void OutErrorMessage()
    {
    int code = WSAGetLastError();
    printf("%d\n",WSAECONNREFUSED);
    printf("Error:%d\n",code);
    }