网络通信与Socket

Posted Respect@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络通信与Socket相关的知识,希望对你有一定的参考价值。

网络通信与Socket

在这里插入图片描述

Socket通信模型

在这里插入图片描述

Socket 编程详解

套接字概念
Socket中文意思是“插座”,在Linux环境下,用于表示进程x间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。
既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是文件主要应用于本地持久化数据的读写,而套接字多应用于网络进程间数据的传递。
在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程。“IP地址+端口号”就对应一个socket。欲建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。因此可以用Socket来描述网络连接的一对一关系。
套接字通信原理如下图所示:

在这里插入图片描述

Socket 通信创建流程图

在这里插入图片描述

网络字节序

在计算机世界里,有两种字节序:

大端字节序 - 低地址高字节,高地址低字节
小段字节序 - 低地址低字节,高地址高字节

在这里插入图片描述

以上是关于网络通信与Socket的主要内容,如果未能解决你的问题,请参考以下文章

无法通过接口获取与片段通信的活动

Socket网络编程进阶与实战

Socket网络编程进阶与实战

Socket网络编程进阶与实战

C++语言实现网络聊天程序的设计与实现(基于TCP/IP协议的SOCKET编程)超详细(代码+解析)

网络编程--Socket与ServerSocket