SOCKADDR_IN m_addr;
m_addr.sin_family = AF_INET;
m_addr.sin_addr.S_un.S_addr = inet_addr(m_strServer.GetBuffer(0));
m_addr.sin_port = htons(1028);
问题1:SOCKADDR_IN是不是和sockaddr_in相等的呢?
    2:若是相等的话,sin_addr是个in_addr结构,但是该结构中并没有S_un啊,这
    是怎么回事呢?

解决方案 »

  1.   

    不相等,结构声明如下:
    struct sockaddr_in{
        short            sin_family;
        unsigned short      sin_port;
        struct   in_addr      sin_addr;
        char               sin_zero[8];
    };struct in_addr {
            union {
                    struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
                    struct { u_short s_w1,s_w2; } S_un_w;
                    u_long S_addr;
            } S_un;