IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Socket套接字学习总结 -> 正文阅读

[网络协议]Socket套接字学习总结

主题:
简介:
参考:
C语言编程网之socket编程
图解TCP/IP

作者:
时间:
1.套接字的定义
定义:socket是计算机之间进行通信(网络编程)的一种约定或者一种方式,通过socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。
应用:web服务器和浏览器的请求和响应

注:read、write、文件描述符、句柄

2.Internet套接字
(1)SOCK_STREAM
SOCK_STREAM流格式套接字也称面向连接的套接字,在代码中使用SOCK_STREAM表示。
SOCK_STREAM是一种可靠的(TCP)、双向的通信数据流,数据可以准确无误地到达另一台计算机,如果损坏或者丢失,可以重新发送,因此是可靠的(内部有纠错机制)。

SOCK_STREAM的特征:
数据在传输过程中不会消失;
数据是有顺序的;
数据收发不同步,接收方比较灵活;

注:流格式套接字内部有一个缓冲区,通过socket传输的数据将保存到这个缓冲区,接收端的灵活性取决于缓冲区的能力

应用:
HTTP

(2)SOCK_DGRAM
SOCK_DGRAM也叫无连接的套接字,在代码中使用SOCK_DGRAM表示。
SOCK_DGRAM模式下计算机只管传输数据,不作数据校验,如果数据在传输过程中损坏,或者没有到达另一个计算机,没有办法补救,数据错了就是错了,无法重传。

特点:
效率较高

特征:
传输快;
收发是同步的;
每次传输的数据大小受限;
传输的数据可能丢失也可能损毁;

注:SOCK_DGRAM不可靠的(UDP)、不一定按顺序的、具有高传输效率的套接字。

3.SOKC_STREAM和SOCK_DGRAM
路由器:IP寻址、路由算法,数据包的传输路径是根据路由算法(RIP、OSPF)计算出来的。

面向连接的套接字(TCP的特点):
虚电路、路由器的下一跳。
连接的建立和释放会消耗时间;

面向无连接(UDP的特点):
尽力而为;
数据分包;

TCP和UDP总结:
TCP:面向连接、可靠、开销大
应用:FTP、HTTP
UDP:面向无连接、不可靠、传输效率高
应用:DNS、微信

4.OSI七层模型和TCP/IP四层
我们所说的socket编程,是站在传输层的基础上,使用TCP/UDP(传输层协议),但是不能访问网页,因为访问网页所需的HTTP协议位于应用层。

5.TCP/IP协议族

6.IP地址、MAC地址、端口号
IP地址的分类:
四类
1.0.0.0-127.255.255.255
128.0.0.0-191.255.255.255
192.0.0.0-223.255.255.255
224.0.0.0-239.255.255.255

私有IP地址
10.0.0.0-10.255.255.255
172.16.0.0-172.31.255.255
192.168.0.0-192.168.255.255

IP地址:局域网地址
MAC地址:物理地址
端口号:确定处理的网络程序

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:27:45  更:2022-01-03 16:27:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 9:29:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码