
计算机网络
文章平均质量分 96
玛卡~巴卡
这个作者很懒,什么都没留下…
展开
-
WebSocket 协议及其使用案例
WebSocket 协议是一种允许服务器和客户端之间进行全双工、实时通信的协议。它克服了 HTTP 协议的请求-响应模式,通过在客户端和服务器之间建立持久性的连接,实现了数据的实时传输。传统的 HTTP 连接每次请求都需要建立和关闭,而 WebSocket 连接则能够一直保持开放状态,避免了频繁的连接建立和关闭开销。原创 2023-08-31 20:33:09 · 4025 阅读 · 7 评论 -
基于Reactor模式下的epoll多路复用服务器
虽然当前服务器已经实现了多路复用的功能了,但是处理连接请求和业务逻辑等所有的工作都是由当前的服务器来完成的。况且当前的业务逻辑只是进行简单的运算,处理的连接数量也很少,因此对应服务器而言并没有什么压力。如果需要处理更加复杂的业务逻辑或者是同时面临大量的连接,那么此时服务器就会显得有些吃力了。可再当前服务器的基础之上引入线程池,当读事件回调函数读取完相关的请求之后,就可以将响应的业务逻辑交给线程池进行处理,当线程池处理完毕之后,再将处理结果返回给服务器,由服务器组织响应给客户端程序。原创 2023-03-14 21:50:53 · 1007 阅读 · 0 评论 -
高级IO以及IO多路复用(select、poll、epoll网络编程)
IO多路复用是一种高效的I/O处理机制,它允许在单个线程中同时监视和处理多个I/O操作,以提高程序的性能和可扩展性。在传统的阻塞I/O模型中,每个I/O操作都会阻塞整个进程,直到该操作完成。这就意味着如果应用程序需要处理多个并发I/O操作,就需要建立多个线程或者进程来处理它们,这样就会导致系统的开销过高,并且导致可扩展性下降。使用IO多路复用,应用程序可以将多个I/O操作注册到一个事件的循环中,然后使用一个线程来监视这些操作的状态。当其中任何一个操作就绪时,事件循环就会通知相应的应用程序,来执行相应原创 2023-03-09 21:09:14 · 1294 阅读 · 3 评论 -
【计算机网络】网络层IP协议
IP协议是Internet Protocol(互联网协议)的简称,它是一种网络层的协议。IP协议的主要作用是在互联网中传输数据包(也称为IP数据包),它定义了数据包在互联网上如何寻址、路由和传输的方式。IP协议是一种面向无连接的协议,不保证数据包的可靠传输,也不保证数据包的传输顺序。因此,IP协议一般与传输层的协议(如TCP协议)一起使用,以保证数据包的可靠传输和有序性。IP协议还定义了IP地址的格式和分配方式。IP地址是一个32位的二进制数,通常用点分十进制表示法来表示。在互联网中,每个设备都必须拥有唯一原创 2023-02-26 18:22:40 · 4261 阅读 · 15 评论 -
【计算机网络】HTTPS协议原理
HTTPS是一种用于保护互联网通信安全的协议,全称为超文本传输安全协议(Hypertext Transfer Protocol Secure)。它是基于HTTP协议的加密传输协议,通过在传输数据之前使用加密算法(利用 SSL/TLS 来加密数据包)对数据进行加密,以确保通信的安全性。原创 2023-02-16 12:43:14 · 12033 阅读 · 5 评论 -
【计算机网络】传输层TCP协议
为什么TCP协议会这么复杂?因为既要保证其可靠性,同时又尽可能的提高性能,导致实现TCP就变得很困难。校验和序列号(按序到达)确认应答超时重传连接管理流量控制拥塞控制滑动窗口快速重传延迟应答捎带应答定时器(超时重传定时器、保活定时器、TIME_WAIT定时器等)原创 2023-02-14 22:53:50 · 8807 阅读 · 8 评论 -
【计算机网络】应用层HTTP协议
HTTP协议全称为超文本传输协议,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的。HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等),是一种应用层协议。原创 2023-02-12 23:15:48 · 1490 阅读 · 0 评论 -
【计算机网络】Linux环境中的TCP网络编程
TCP和UDP都是工作在传输层,用于程序之间传输数据。二者之间的区别是TCP是面向连接的,而UDP是面向数据报的。那就意味着,TCP能够进行可靠的数据传输,而UDP进行不可靠的数据传输。关于TCP协议和UDP协议的详细内容可见博主的后续文章,本文的主要内容是关于TCP socket的网络编程。接下来我们将基于TCP网络编程实现一个将小写字母转换成大写字母的网络服务器。原创 2023-02-11 22:35:55 · 2471 阅读 · 7 评论 -
【计算机网络】Linux环境中的网络套接字编程
本编文章是博主学习了网络套接字编程后对相关知识的总结,阅读本文可对网络编程有基本的了解。文章内容包括认识IP地址和端口号的作用、了解网络字节序等网络编程中的基本概念、掌握Socket API的基本用法,从而能够实现简单的UDP客户端/服务器和TCP客户端/服务器,并且理解TCP服务器建立连接、发送数据、断开连接的基本流程。原创 2023-02-08 21:59:58 · 2158 阅读 · 4 评论 -
【计算机网络】网络基础
计算机网络是计算机技术和通信技术相结合的产物,是信息化社会的主要技术设施。1946年,世界上第一台计算机ENIAC在美国诞生。随着微电子技术的不断发展,也使计算机网络经历了从简单到复杂、从低级到高级、从地区到全球的发展过程,计算机网络从为解决远程计算信息数据的搜集和处理而形成的联机系统开始,发展到以资源共享为目的而相互连接起来的计算机群,最终形成目前遍布全球各个角落的国际互联网。原创 2023-01-10 13:36:01 · 6394 阅读 · 3 评论