网络
文章平均质量分 85
爱编程的小猴
从事互联网行业开发与教学10余年,有丰富的开发教学经验。对技术原理研究透彻,熟练C++语言、Golang语言、Windows、Linux操作系统内核编程、网络编程、数据库编程等。有较强的架构能力,参与研发项目有IM即时通讯、分布式云盘存储、短视频直播等。主导研发研发《C++面试专题课》、《服务器高级架构师课》、《Go入门到实战》等多门课程。
展开
-
【网络】IO多路复用之IOCP
IOCP(Input/Output Completion Ports,输入输出完成端口)是Windows操作系统中一种高效的网络和文件I/O处理机制。它允许应用程序以异步方式处理多个I/O操作,同时能够减少线程的使用和提高系统的可扩展性。原创 2024-08-13 19:58:27 · 866 阅读 · 0 评论 -
【网络】IO多路复用模型之事件选择模型(第八篇)
事件选择模型(Event Select Model)是Windows网络编程中一种重要的异步IO模型,它允许应用程序在一个或多个套接字上接收以事件为基础的网络事件通知。与select模型相比,事件选择模型在处理大量连接时具有更高的效率和更好的性能。原创 2024-08-13 19:53:41 · 735 阅读 · 0 评论 -
【网络】IO多路复用模型select
Select是IO多路复用模型的一种实现方式,它通过单个线程监视多个文件描述符的状态变化,并在就绪时进行相应的读写操作。虽然存在文件描述符限制和性能问题,但在连接数不是特别多的情况下,它仍然是一种有效的解决方案。原创 2024-08-13 19:34:42 · 751 阅读 · 0 评论 -
【网络】TCP拥塞窗口(第六篇)
拥塞窗口(Congestion Window,简称cwnd)是TCP协议中用于防止网络拥塞的一种重要机制。它是在发送端采用的一种“拥塞避免”算法和“慢速启动”算法相结合的机制,用于控制发送端向网络中注入的数据量,从而避免网络拥塞。以下是关于拥塞窗口的详细解释:定义与作用定义:拥塞窗口是TCP发送端维护的一个可滑动窗口,用于控制发送端在任何时候可以发送的最大字节数。它的大小取决于网络的拥塞程度,并动态变化。 作用:防止网络拥塞,通过调整发送速率来适应网络状况,确保网络的平稳运行。工作原理拥塞窗原创 2024-08-13 19:27:11 · 1169 阅读 · 1 评论 -
【网络】TCP滑动窗口概述(第五篇)
定义:滑动窗口是TCP协议中的一种流量控制技术,通过维护一个动态变化的窗口来允许发送方在无需等待每个数据段确认的情况下连续发送多个数据段,从而提高数据传输效率。作用流量控制:接收方通过调整接收窗口的大小来控制发送方的发送速率,确保发送的数据量不会超过接收方的处理能力,防止接收方缓冲区溢出。拥塞控制:虽然滑动窗口本身不直接进行拥塞控制,但它与拥塞控制机制(如慢启动、拥塞避免、快速重传等)相结合,共同维护网络的稳定性和效率。原创 2024-08-09 17:19:44 · 905 阅读 · 0 评论 -
【网络】TCP协议(第四篇)
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它由IETF的RFC 793定义,并广泛应用于互联网中。TCP的主要目的是在不可靠的网络环境中提供可靠的、有序的数据传输服务。面向连接:TCP通信双方在进行数据传输之前,必须先通过三次握手(Three-way Handshake)建立连接。这种连接是全双工的,即双方都可以同时发送和接收数据。可靠性。原创 2024-08-06 11:44:19 · 1018 阅读 · 0 评论 -
【网络】IP协议
IP 是互联网协议的核心,它定义了数据包如何在互联网中的各个网络之间传输。IP 地址是分配给连接到互联网上的每个设备的唯一数字标识,用于在数据通信中识别源和目标设备。IPv4 是目前广泛使用的版本,它使用32位(4字节)地址,理论上可以支持约43亿个设备。然而,随着物联网(IoT)的发展,设备数量急剧增加,IPv4 地址空间已经接近耗尽,因此 IPv6 被开发出来,它使用128位(16字节)地址,可以支持几乎无限数量的设备。原创 2024-08-04 11:33:32 · 587 阅读 · 0 评论 -
【网络】UDP协议创建流程详解(第三篇)
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的传输层协议,它基于IP协议,提供了一种将数据包发送到网络上的方式。函数是网络编程中的一个基本且关键的函数,它用于创建一个新的套接字(socket)。函数是网络编程中的一个重要函数,特别是在使用UDP协议进行通信时。函数在多种编程语言中都有对应的实现,但最基础和广泛使用的是在C语言中的定义,它也被许多其他语言通过标准库或扩展库间接支持。函数是网络编程中用于向指定的目的地址发送数据报的函数,特别是在使用UDP协议时非常常见。原创 2024-08-02 08:54:32 · 1693 阅读 · 0 评论 -
【网络】基于UDP协议的聊天室(第二篇)
在C++中,使用UDP协议进行网络通信通常涉及到socket编程。下面我将给出基于UDP的简单的客户端和服务器示例代码。这些示例将使用C++标准库以及POSIX套接字接口(主要适用于Linux和类Unix系统)。如果你在使用Windows,可能需要使用Winsock库,但这里我们主要关注POSIX接口。原创 2024-08-01 16:09:30 · 428 阅读 · 0 评论 -
【网络】网络入门(第一篇)
网络的传输过程是一个从应用层到物理层逐层封装数据,并通过网络进行传输,最终在目标设备逐层解封装数据的过程。这一过程遵循TCP/IP模型的层次结构,确保了数据的可靠传输和高效处理。同时,DNS解析、路由选择、MAC寻址等机制在传输过程中发挥着重要作用,保证了数据能够准确、快速地到达目标设备。原创 2024-08-01 09:18:59 · 650 阅读 · 0 评论