What is the difference between AF_INET and PF_INET in socket programming?

前端 未结 7 830
一向
一向 2020-11-30 16:13

What is the difference between AF_INET and PF_INET in socket programming?

I\'m confused between using AF_INET and PF_INET in socket() and bind()

7条回答
  •  渐次进展
    2020-11-30 16:46

    Beej's famous network programming guide gives a nice explanation:

    In some documentation, you'll see mention of a mystical "PF_INET". This is a weird etherial beast that is rarely seen in nature, but I might as well clarify it a bit here. Once a long time ago, it was thought that maybe a address family (what the "AF" in "AF_INET" stands for) might support several protocols that were referenced by their protocol family (what the "PF" in "PF_INET" stands for).
    That didn't happen. Oh well. So the correct thing to do is to use AF_INET in your struct sockaddr_in and PF_INET in your call to socket(). But practically speaking, you can use AF_INET everywhere. And, since that's what W. Richard Stevens does in his book, that's what I'll do here.

提交回复
热议问题