一、什么是POSIX
POSIX(Portable Operating System Interface of UNIX)可移植操作系统接口。是由IEEE(电气电子工程师学会)发布的为要在各种UNIX操作系统上运行的软件而定义的一系列API(应用程序接口)标准总称。
Unix和Linux都遵循POSIX这个标准,其次苹果的操作系用也是Unix-based的。有了这个规范,就可以调用通用的API,Linux提供的POSIX系统调用在Unix上也可以执行。如今Win10系统也支持Linux的POSIX。
二、网络编程中用到的POSIX API
在Linux网络编程中,客户端与服务端会分别用到以下POSIX API:
服务端(server)
1.socket 2.bind 3.listen 4.accept 5.recv 6.send 7.close
客户端(client)
1.socket 2.bind 3.connect 4.recv 5.send 6.close
总共8种。本文先介绍socket、bind、connect、listen、和accept五个POSIX API。
1、socket
在网络编程中,当创建一个新的socket连接时,操作系统会同时分配一个TCB(Transmission Control Block,传输控制块)和一个fd。
TCB是操作系统内核和网络协议栈中用于管理TCP连接的关键数据结构。它包含了与特定连接相关的所有信息和状态,如连接双方的IP地址和端口