如何把一个ip如202.198.123.123放入sockaddr结构的data域中。是否要指定PORT的值?如果制定就算是5556吧。
还有如果知道port是1111,ip是202.98.12.3 family是AF_INET怎么才能初始化一个SOCKADDR_IN结构addr1?
顺便指点一下这两个结构到底是怎么回事。
大家帮帮忙吧!谢谢。

解决方案 »

  1.   

    /*-------------------------------------------------------------------------------------------
    this is Test to connect to google at 80 port
    (c) HZ.GR.2004
    --------------------------------------------------------------------------------------------*/
    #include <winsock2.h>
    #include <stdio.h>
    WSADATA WSAData = {0};
    WORD VerRequest = MAKEWORD(2,1);
    struct sockaddr_in TCPClient = { 0 };
    struct sockaddr_in TCPServer = { 0 };
    //struct sockaddr_in test;
    SOCKET sClientSocket = 0;
    u_short Port = 5050,ServerPort = 30001,UDPPort = 65531;   //http://const TCHAR szServerIP[] = {"218.108.248.40"}; //googleconst TCHAR StartOK[] = {"StarSocket successed"}; 
    const TCHAR StartError[] = {"StartSocket Error"};
    const TCHAR CloseOK[] = {"SOCKET closed successed"};
    const TCHAR CloseError[] = {"socket closed failed"};        int main()
    {
    if(0 != WSAStartup(VerRequest,&WSAData))
    {
    printf("%s\n",StartError);
    return 0;
    }
    printf("%s\n",StartOK);
    /*-------------------------------------------------------------------------------------------
    Server and client :set port ,family,and address;
    --------------------------------------------------------------------------------------------*/
    TCPClient.sin_port = htons(Port);
    TCPClient.sin_family = AF_INET;
    TCPClient.sin_addr.s_addr = htonl(0); TCPServer.sin_addr.s_addr = inet_addr(szServerIP);
    TCPServer.sin_family = AF_INET;
    TCPServer.sin_port = htons(ServerPort);    //PORT

    sClientSocket = socket(AF_INET,SOCK_STREAM,0);       //TCP
    //sClientSocket = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);// UDP
    if(INVALID_SOCKET == sClientSocket)
    {
    printf("INVALID_SOCKET\n");
    return 0;
    }
    /*-------------------------------------------------------------------------------------------
    bind
    --------------------------------------------------------------------------------------------*/简洁点贴了一个片段,其实。MSDN上讲的非常清楚,
      

  2.   

    再补充一点问题,得到一个SOCKET s,怎么才能知道它的IP,和PORT?