在socket编程中,AF_INET和PF_INET都是用于指定协议族的常量。 AF_INET代表地址族(Address Family)中的IPv4协议族(Internet Protocol version 4),该协议族是目前互联网中最常用的协议族。 PF_INET代表协议族(Protocol Family)中的IPv4协议族。 实际上,在实际使用中,AF_INET和PF_INET可以互换使用,它们的取值都是相...
本教程使用 IPv4 地址,参数 af 的值为 PF_INET。如果使用 SOCK_STREAM 传输数据,那么满足这两个条件的协议只有 TCP,因此可以这样来调用 socket() 函数: int tcp_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //IPPROTO_TCP表示TCP协议 这种套接字称为 TCP 套接字。 如果使用 SOCK_DGRAM 传输方式...
对于BSD,是AF,对于POSIX是PF UNIX系统支持AF_INET,AF_UNIX,AF_NS等,而DOS,Windows中仅支持AF_INET,它是网际网区域. 在函数socketpair与socket的domain参数中有AF_UNIX,AF_LOCAL,AF_INET,PF_UNIX,PF_LOCAL,PF_INET.这几个参数有AF_UNIX=AF_LOCAL,PF_UNIX=PF_LOCAL,AF_LOCAL=PF_LOCAL,AF_INET=PF_INET....
在一些文档中,可能会遇到"PF_INET"。 出现AF_INET和PF_INET是历史原因。在网络设计之初,AF = Address Family,PF = Protocol Family,所以最好在指示地址的时候使用AF,在指示协议的时候使用PF。因为那时人们希望同一个地址族( "AF" in "AF_INET" )可能支持多个协议族 ("PF" in "PF_INET" )。这样的话,就...
PF_INET是常用的网络协议族之一,用于指定网络套接字的地址及协议类型。在Linux系统中,常用的网络编程接口为socket函数,其中的参数PF_INET表示创建一个IPv4协议族的套接字。通过socket函数的调用,我们可以创建不同类型的网络套接字,如TCP套接字、UDP套接字等,实现不同类型的网络通信。
使用PF_INET和SOCK_STREAM 目前,在domain参数为PF_INET的SOCK_STREAN的套接口中,protocol的参数为0意味着内核选择IPPROTO_TCP,也就是套接口使用TCP/IP协议。 使用PF_INET和SOCK_DGRAM 这个组合告诉内核选择UDP协议。也就是选择IPPROTO_UDP。 下表是一个总结: ...
PF = Protocol Family AF_INET = PF_INET 所以在windows中AF_INET与PF_INET完全一样. 而在Unix/Linux系统中,在不同的版本中这两者有微小差别.对于BSD,是AF,对于POSIX是PF. 理论上建立socket时是指定协议,应该用PF_xxxx,设置地址时应该用AF_xxxx。当然AF_INET和PF_INET的值是相同的,混用也不会有太大的问题...
SOCKET servSock = socket(AF_INET, SOCK_STREAM, 0); //绑定套接字 sockaddr_in sockAddr; memset(&sockAddr, 0, sizeof(sockAddr)); //每个字节都用0填充 sockAddr.sin_family = PF_INET; //使用IPv4地址 sockAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); //具体的IP地址 ...
int udpFD = socket(PF_INET, SOCK_DGRAM,IPPROTO_UDP); 分别解释一下这两行,socket 第一个参数PF_INET表示是 IPv4 协议族,有时候用AF_INET宏,PF的意思是 Protocol Family 协议族,AF意为 Address Family,在socket.h文件中可以看到,其实是同一个值。
(lib, "ws2_32.lib") //连接winsock2.h的静态库文件using namespace std;int main(){//加载winsock库WSADATA wsadata;WSAStartup(MAKEWORD(2, 3), &wsadata);//客户端socketSOCKET clientSock = socket(PF_INET, SOCK_STREAM, 0);//初始化socket信息//memset:作用是在一段内存块中填充某个给定的值,它...