
网络编程
文章平均质量分 91
这个网络编程博客专栏专注于教授网络通信原理和实际应用技术。通过深入的解析TCP/IP协议、HTTP协议、WebSocket等,以及Socket编程、RESTful API设计等实战案例,帮助开发者理解和实现高效的网络应用程序。无论是初学者还是有经验的开发者,都能从中学习如何构建可靠、安全和高性能的网
逍遥Sean
计算机专业毕业并拥有超过3年工作经验的前后端技术探险家,擅长多个领域包括Web网站开发、游戏程序设计、WPF微软桌面程序、微信小程序等等。
在我的博客中,我致力于分享深入的技术见解和实际经验,帮助程序员解决各种挑战和提升技能。你将在这里找到关于如何构建高效Web服务的实用技巧,游戏开发中的优化策略以及数据结构与算法在应用程序的最佳实践。
我希望通过分享我的知识和经验,为广大程序员社区贡献一些实用的见解,让大家在技术的路上少走弯路,更快地实现自己的开发目标。
无论你对哪个领域感兴趣,我都希望我的博客能成为你解决问题的有力工具。请随时浏览我的最新文章,欢迎留言讨论,共同探索技术的无限可能!
展开
-
C#实战 - 使用 C# 编写简单的网页爬虫
在本篇博文中,我们将介绍如何使用 C# 编写一个简单的网页爬虫,来获取指定网页的内容。我们将使用 .NET Core 环境,并依赖于 HtmlAgilityPack 库来解析 HTML。让我们逐步实现这个爬虫的过程。@[TOC](使用 C# 编写简单的网页爬虫)#### 准备工作1. **安装 HtmlAgilityPack 库** HtmlAgilityPack 是一个流行的 HTML 解析库,用于处理 HTML 文档的结构和内容。您可以通过 NuGet 管理器或者命令行安装它:原创 2024-07-31 15:56:04 · 1425 阅读 · 0 评论 -
计算机网络 - 理解HTTP与HTTPS协议的关键区别与安全性
HTTP和HTTPS作为Web通信的两种基本协议,其安全性和功能迥异。随着互联网安全问题的日益严峻,采用HTTPS已经成为保护用户数据和提升网站信任的必然选择。通过本文的介绍,希望读者能够深入理解HTTP与HTTPS的差异,为自己的网站和应用选择最合适的通信协议,并实现安全性和用户体验的双赢。原创 2024-07-30 09:12:12 · 640 阅读 · 0 评论 -
网络编程 - 粘包与拆包第二弹 - Netty粘包与拆包问题的技术解决方案
Netty是一个高性能的异步事件驱动的网络应用框架,专注于快速开发可维护的高性能协议服务器和客户端。它提供了一系列的解决方案来处理TCP粘包与拆包问题,使得开发者可以专注于业务逻辑而不必过多关注底层网络细节。通过使用Netty提供的解码器和编码器,我们可以有效地处理TCP粘包与拆包问题,提升网络应用的稳定性和性能。选择合适的解决方案取决于你的具体业务需求和协议设计。希望本文能帮助读者深入理解和解决TCP粘包与拆包问题,在实际应用中获得更好的开发体验和性能优化。原创 2024-07-29 09:50:27 · 954 阅读 · 0 评论 -
网络编程 - 粘包与拆包第一弹 - 深入理解TCP粘包与拆包问题
在TCP协议中,数据传输的基本单位是数据包(Packet),但由于TCP是基于字节流的协议,发送方在传输数据时,并不会考虑数据包的边界,而是连续地将字节流发送出去;接收方在接收数据时,需要根据接收到的字节流来还原成数据包。粘包:多个数据包被接收方一次性接收,形成一个大的数据块,难以区分原本的数据包边界。拆包:一个数据包被拆分成多个包接收,导致接收方无法正确还原发送方发送的数据包。这些问题源于TCP协议的特性,如数据流传输、操作系统内核的数据复制等。原创 2024-07-29 09:44:02 · 1001 阅读 · 1 评论 -
网络编程 - 深入理解TCP协议底层知识
TCP协议属于TCP/IP协议族,位于传输层,负责在网络中的不同主机之间建立可靠的数据传输连接。它通过序号、确认和重传机制确保数据的可靠性和顺序性。面向连接:通信双方在数据传输前必须先建立连接,传输完成后再释放连接。可靠性:使用序号、确认和重传机制,确保数据包按顺序、可靠地传输。流量控制:通过滑动窗口机制控制发送方的数据发送速率,防止接收方被淹没。拥塞控制:根据网络拥塞的情况动态调整发送速率,以避免网络拥塞。原创 2024-07-29 09:29:01 · 985 阅读 · 0 评论 -
计算机网络 - 网络分层原理第二弹 - 深入理解计算机网络通讯流程
计算机网络通讯是指在计算机网络中,数据从一个节点(例如计算机或服务器)传输到另一个节点的过程。这个过程涉及到多个层次的协议和技术,每一层都有特定的功能和责任。计算机网络通讯流程涵盖了多个层次和协议,每一层都扮演着关键的角色,确保数据能够安全、高效地在网络中传输。理解网络通讯的基本流程和各层的功能有助于网络工程师更好地设计、优化和维护复杂的网络系统,满足不同应用场景的需求。希望本文能够帮助读者深入理解计算机网络通讯的技术原理和运作机制,为实际应用提供坚实的理论基础和指导。原创 2024-07-29 09:25:18 · 1048 阅读 · 0 评论 -
计算机网络 - 计算机网络分层原理详解
计算机网络分层原理是设计和实现现代网络体系结构的基础。通过分层,网络功能被划分为若干层次,每一层都有特定的功能和责任,从而使得网络设计更加模块化、灵活和易于管理。本文将深入探讨计算机网络分层的原理、各层的功能以及它们之间的交互。原创 2024-07-29 09:20:48 · 1108 阅读 · 0 评论 -
计算机网络 - Java开发需要的网络基础知识,搞清楚计算机网络底层原理
计算机基础是软件开发的基础,它是软件开发人员必须掌握的一些基本知识和技能,包括计算机体系结构、数据结构、算法、操作系统、计算机网络、数据库等方面的基础知识。这些知识和技能的掌握可以提高软件开发人员的开发效率和质量,这对软件开发至关重要。在软件开发中,计算机基础知识可以帮助开发人员更好地理解开发平台和工具,更好地编写高效、可维护的代码。例如,了解数据结构和算法可以帮助开发人员设计和实现高效的程序;了解操作系统和计算机网络可以帮助开发人员充分利用计算机资源和网络资源;原创 2023-09-24 09:43:11 · 901 阅读 · 0 评论 -
计算机网络 - TCP网络连接中的三次握手和四次挥手
TCP(Transmission Control Protocol)通讯是一种面向连接的、`可靠`的网络传输协议。它位于 OSI 模型的传输层,负责提供数据传输服务。TCP协议通过三次握手建立连接,确保数据的可靠性和有序性,同时也提供拥塞控制和流量控制机制。它适用于需要保证数据传输的可靠性和有序性的应用,例如文件传输、电子邮件、网页浏览等。TCP通信是一种`可靠的面向连接的通信方式`,连接建立和断开是非常重要的过程。下面是TCP通信的连接和断开过程:> **复杂的连接与释放过程是为了保证连接的可靠性*原创 2023-09-22 21:53:45 · 191 阅读 · 0 评论 -
计算机网络 - 计算机网络面试常考知识点
七层网络模型(OSI模型)是一种将网络体系结构划分为七个不同层次的标准。这七个层次从下到上依次是:`物理层、数据链路层、网络层、传输层、会话层、表示层和应用层`。每一层都有自己特定的功能,这些功能可以通过不同的协议或技术实现。该模型的目的是为不同厂商和技术提供一个标准的参考框架,以确保各种设备和系统能够互相通信。## session和coocik?1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie原创 2020-10-16 16:10:10 · 171 阅读 · 1 评论 -
网络编程 - Java I/O模型发展以及Netty网络模型的设计思想
前言:BIO、NIO的代码实践参考:Java分别用BIO、NIO实现简单的客户端服务器通信Java共支持三种I/O模型:BIO,NIO,AIO流程:主要概念:NIO编程流程:方案:优缺点:方案:优缺点:方案:优缺点:主要基于模型,做了一定的改进,增加了,可以多个主线程和多个从线程并发处理Netty模型图(简单版)Netty模型图(复杂版)工作原理:原创 2023-09-04 22:55:12 · 222 阅读 · 0 评论 -
手撕代码 - Java分别用BIO、NIO实现简单的客户端服务器通信
Java NIO 能够支持非阻塞网络编程,可以理解为new io 或者no blok io 我更喜欢称之为new io,因为他不仅仅实现了非阻塞的网络编程方式,同时也封装了常用的网络编程api,更重要的是引入了多路复用器Selector的概念。一共构造了两个客户端(消息客户端和looker客户端), looker客户端优先启动,随后启动消息客户端,消息客户端与服务器的通信会被转发给looker客户端。无Selector的NIO演示中,显然会出现空转的情况,以及无效连接的处理问题,这些问题都会影响性能。原创 2023-09-04 16:46:36 · 913 阅读 · 0 评论