Socket通信原理简介

前言

        计算机为计算而生,计算需要有输入和输出,计算机的输入输出抽象为I/O,UNIX的计算机处理IO是通过文件的抽象。计算机不同进程之间也有输入输出,也就是通信,因此这个通信也是通过文件的抽象文件描述符来进行。

        在同一台计算机,进程间是通过以上方式通信的,如果是不同的计算机呢?

一、什么是Socket(中文中称为套接字)

        首先Socket是一种操作系统提供的通信机制。不同计算机之间进行通信的一个抽象。

        在操作系统中,通常会为应用程序提供一组应用程序接口(API)。这被称为套接字接口,应用程序可以通过套接字接口来试用网络套接字(网络套接字是电脑网络中进程间数据流的端点)以实现数据交换。

Socket工作于TCP/IP协议中应用层和传输层之间的一个抽象。如下图所示:

二、服务器通信

        Socket保证了不同计算机之间的通信,也就是网络通信,对于B/S 或C/S架构。通信模型是客户端(或前端)之间的通信。两个端都建立一个socket对象,然后通过socket对象对数据进行传输。通常服务端处于无限循环状态,等待客户端连接。

三、Socket通信中TCP协议的三次握手




猜你喜欢

转载自blog.csdn.net/qq_36684665/article/details/81066413