在 Richard Stevens 的书《网络编程》第一卷的示例代码中,README 中给出了以下行
cd ../libroute # only if your system supports 4.4BSD style routing sockets
make # only if your system supports 4.4BSD style routing sockets
cd ../libxti # only if your system supports XTI
make # only if your system supports XTI
Ubuntu 10.04 也是如此,我使用的是 64 位支持
1)4.4BSD 样式路由套接字 2)XTI 我如何验证这一点?
答案1
BSD 套接字在 10 到 15 年前“赢得”了编程 API 竞赛,具体时间取决于操作系统。您必须找到一些非常老旧的 *nix 软件才能找到不支持 BSD 套接字的软件。
XTI 是一个旨在取代 Posix API 的系统,但比 BSD 套接字稍微麻烦一些。它在贝尔实验室 System V 中使用最为广泛,并被引入到一些基于它的其他操作系统(Solaris、AIX 等)。默认情况下,BSD、Linux 和 Windows 不支持 XTI。
如果你正在学习新东西,请坚持使用 BSD Sockets。它被广泛使用,并且是迄今为止“最佳”的通用 API。