不是的.
af的意思呢,比如你想建立IP协议的socket,当然包括TCP和UDP这两个了,你就可以用AF_INET.而protocol呢,主要取决于af,它主要是指定特定传输的,但是你可以把protocol一般都设为0,因为系统可以根据af和type来确定protocol.下面是一点摘抄.协议       地址家族        socket类型                      协议字段
IP         AF_INET        TCP         SOCK_STREAM      IPPROTO_IP
                          UDP         SOCK_DGRAM       IPPROTO_UDP
                          raw         SOCK_RAW         IPPROTO_RAW
..........................................
还有什么IPX/SPX,NetBIOS,ATM这些协议的socket,不过用得少,就不写了