WEB开发网
开发学院操作系统Linux/Unix TCP/IP 应用程序的通信连接模式 阅读

TCP/IP 应用程序的通信连接模式

 2008-08-23 08:18:32 来源:WEB开发网   
核心提示: 如图 2 显示,应用层是通过调用传输层接口 APIs(Socket 或 XTI/TLI)来与传输层和网络层进行通信的,TCP/IP 应用程序的通信连接模式(3),图 2 传输层接口不管是使用何种编程接口,要在两个机器或两个程序之间建立通信,类似 Unix 的文件函数 readI(),另外

如图 2 显示,应用层是通过调用传输层接口 APIs(Socket 或 XTI/TLI)来与传输层和网络层进行通信的。

图 2 传输层接口

TCP/IP 应用程序的通信连接模式

不管是使用何种编程接口,要在两个机器或两个程序之间建立通信,通信双方必须建立互相一致的通信模式。如果双方的通信设计模式不一致就无法建立有效的通信连接。

以下是经常使用的 socket APIs,是建立 TCP/IP 应用程序的标准接口,也是影响 TCP/IP 应用程序通信方式的几个主要 APIs,不同 APIs 组合再结合系统调用可以实现不同方式的应用。Sockets 支持多种传输层和网络层协议,支持面向连接和无连接的数据传输,允许应用分布式工作。

socket():是用来创建一个 socket,socket 表示通信中的一个节点,其可以在一个网络中被命名,用 socket 描述符表示,socket 描述符类似于 Unix 中的文件描述符。

bind():是用来把本地 IP 层地址和 TCP 层端口赋予 socket。

listen() :把未连接的 socket 转化成一个等待可连接的 socket,允许该 socket 可以被请求连接,并指定该 socket 允许的最大连接数。

accept():是等待一个连接的进入,连接成功后,产生一个新的 socket 描述符,这个新的描述符用来建立与客户端的连接。

connect():用来建立一个与服务端的连接。

send():发送一个数据缓冲区,类似 Unix 的文件函数 write()。另外 sendto() 是用在无连接的 UDP 程序中,用来发送自带寻址信息的数据包。

recv():接收一个数据缓冲区,类似 Unix 的文件函数 readI()。另外 recvfrom() 是用在无连接的 UDP 程序中,用来接收自带寻址信息的数据包。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:TCP IP 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接