📜  计算机网络中的套接字

📅  最后修改于: 2021-09-28 09:29:32             🧑  作者: Mango

套接字是网络上运行的两个程序之间双向通信链路的一个端点。套接字机制通过建立命名联系点来提供进程间通信 (IPC) 的方法,在这些联系点之间进行通信。

就像’Pipe’ 用于创建管道,而套接字是使用‘socket’系统调用创建的。套接字通过网络提供双向FIFO通信功能。在通信的每一端都会创建一个连接到网络的套接字。每个套接字都有一个特定的地址。该地址由 IP 地址和端口号组成。

套接字通常用于客户端服务器应用程序。服务器创建一个套接字,将其附加到网络端口地址,然后等待客户端联系它。客户端创建一个套接字,然后尝试连接到服务器套接字。建立连接后,就会进行数据传输。

插座类型:
有两种类型的套接字:数据报套接字和套接字。

  1. 数据报套接字:
    这是一种具有用于发送和接收数据包的无连接点的网络。它类似于邮箱。投递到信箱中的信件(数据)被收集并传送(传输)到信箱(接收套接字)。
  2. 流套接字
    在计算机操作系统中,流套接字是一种进程间通信套接字或网络套接字,它提供面向连接的、有序的和独特的数据流,没有记录边界,具有用于创建和销毁连接以及检测错误的明确定义的机制。它类似于电话。在电话(两端)之间建立连接并进行对话(数据传输)。

Function Call  Description 
Create() To create a socket
Bind() It’s a socket identification like a telephone number to contact
Listen() Ready to receive a connection 
Connect() Ready to act as a sender 
Accept() Confirmation, it is like accepting to receive a call from a sender 
Write() To send data 
Read() To receive data 
Close() To close a connection