socket套接字

admin 37 0

套接字(Socket)是计算机网络中不同主机上的应用进程之间进行双向通信的端点的抽象,它提供了应用层进程利用网络协议交换数据的机制,是应用程序通过网络协议进行通信的接口,套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。

套接字可以看作是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念,它是网络环境中进程间通信的API(应用程序编程接口),也是可以被命名和寻址的通信端点,使用中的每一个套接字都有其类型和一个与之相连进程。

套接字的表示方法是点分十进制的IP地址后面写上端口号,中间用冒号或逗号隔开,一个完整的网络通信需要一个五元组来标识:协议、本地地址、本地端口号、远端地址、远端端口号。

套接字的主要类型有流式套接字、数据报套接字和原始套接字,流式套接字提供了一种可靠的、面向连接的通信方式,顺序地发送和接收数据,适用于传输大量数据的情况,数据报套接字是一种无连接的通信方式,发送的数据以数据报的形式在网络中传输,不保证数据的顺序和可靠性,原始套接字允许直接访问底层网络协议,通常用于开发新的网络应用程序或对网络进行特殊控制。

套接字是计算机网络中不同主机上的应用进程之间进行双向通信的端点的抽象,是应用程序通过网络协议进行通信的接口,它具有类型和与之相连的进程,使用套接字的应用程序间通信模型在网络上通过IP地址和端口号唯一确定一个套接字,并且发送的数据是按顺序接收的。