网络编程

贾伟康12 小时前
网络编程·harmonyos·arkts·quic·软件架构
【HarmonyOS 7新能力|040】QUIC长连接工程封装:把接入逻辑放进可维护的分层结构即时消息、协同编辑和实时状态都依赖长连接,但移动网络会频繁切换:设备离开 Wi-Fi、蜂窝信号抖动、应用进入后台,都可能让“看似在线”的连接已经无法交付消息。QUIC 提供的能力可以改善部分传输问题,但协议优势不会自动解决鉴权续期、消息幂等、断线补偿与生命周期管理。工程上必须把“连接存在”升级为“业务消息可可靠交付”。
j7~3 天前
linux·运维·网络编程·tcp·守护进程·io重定向·部署打包
【Linux网络加餐课】(篇八)网络版计算器(终篇):守护进程、标准 IO 重定向与部署打包前两篇咱们把网络计算器写通了:lesson55 搭骨架(模板方法 + JSON 工具),lesson56 填协议(序列化 + 报文分隔 + 完整收发)。但 lesson56 的服务器有个使用上的硬伤——它是个前台程序:
j7~3 天前
linux·c++·网络编程·tcp·报文分割·网络计算器·协议落地
【Linux网络加餐】(篇七)网络版计算器(中):协议落地、报文分隔与完整链路上篇(lesson55)咱们把骨架搭好了:模板方法模式封装 Socket、策略模式写日志、双 fork 处理并发、jsoncpp 的基本用法。但那时候的服务器是个"会接电话但不说话"的空壳——Protocol::GetRequest 是空函数,Request::Serialize 和 Deserialize 也是空壳,客户端连上就断。这节课(lesson56)把空壳全部填满,真正跑通一条完整的链路:
j7~4 天前
linux·网络编程·三次握手·四次挥手·tcp 协议通讯流程
【Linux网络】三十七.TCP 协议通讯流程一条主线:服务器 socket → bind → listen → accept,客户端 socket → connect,然后 read/write 双向收发,最后 close 四次挥手。 本文按"初始化 → 建立连接 → 数据传输 → 断开连接"四个阶段展开,每一步都标出应用层调用和TCP 协议栈行为的对应关系,并补全 TCP 状态机、TIME_WAIT 坑、SO_REUSEADDR 等实战必知的知识点。
啦啦啦啦啦zzzz7 天前
linux·服务器·c++·网络编程·c++20
利用RAII机制进行日志的采集对于日志器的组装我们已经完成了一大半了,接下来就是一些比较细节的实现。我们先回顾一下子之前的组成部分,首先是我们自定义了一个buffer,这个buffer是存储我们输出的日志的,由inline和overflow组成,当日志的内容比较小的时候,我们会把日志输出到inline里面,这个inline在栈上,也就是array<char, 128>,而当日志比较多的时候,我们才在堆上开辟内存,vector。
布莱克6059 天前
服务器·网络·tcp/ip·计算机网络·网络编程
TCP 三次握手与四次挥手详解TCP(Transmission Control Protocol,传输控制协议)是互联网中最核心的传输层协议之一,它为应用层提供可靠、面向连接的字节流服务。在 TCP 建立连接和断开连接的过程中,三次握手与四次挥手是两个最基础也最重要的机制。理解这两个过程,是深入掌握网络编程、排查连接异常的前提。
啦啦啦啦啦zzzz13 天前
linux·服务器·c++·网络编程
自定义日志缓冲区(上)c++20本篇文章使用c++20标准实现的一个自定义的日志缓冲区。打印日志对于每一个项目来说都是必不可少的,在muduo库里面我们也简单的实现了一个日志的打印,大家如果有兴趣可以看一看我之前的这个博客写文章-CSDN创作中心。不过那个是比较简易的,而本篇文章的上下篇将完成一个复杂,高性能的打印日志器。
for_ever_love__21 天前
开发语言·爬虫·python·网络编程
python爬虫: GET请求与POST请求下面是一段获取页面源代码的代码这里是用 urllib 来抓取页面源代码, 这是python内置的一个模块, 但是, 它并不是我们常用的爬虫工具, 常用的抓取页面的模块通常使用一个第三方模块request, 这个模块的优势就是比urllib还要简单, 并且处理各种请求都比较方便
啦啦啦啦啦zzzz23 天前
linux·运维·服务器·网络·c++·网络编程
ET和LT详解本篇文章是最后一篇关于《Linux高性能服务器编程》的总结,我把这篇文章放在最后是因为我想通过这本书中大部分的项目实战总结出一些关于ET和LT的理解。
啦啦啦啦啦zzzz24 天前
linux·服务器·网络·c++·网络编程
共享内存的网络聊天室本篇参考书目《Linux高性能服务器编程》,这是我第三次实现网络聊天室,这一次是在内存的方面进行了极大的改进,并且本篇文章主要使用c++11来实现的,将书本里面的c语言重写了一遍。
啦啦啦啦啦zzzz1 个月前
linux·服务器·网络·c++·网络编程
高级I/O函数(一)本篇文章是开始深入了解一些Linux的高级API,目的就是为了解决一些特别的问题,参考书目为《Linux高性能服务器编程》,所有的代码我会在github上面进行提交,我github的仓库地址是:
AI人工智能+电脑小能手1 个月前
java·udp·网络编程·socket·tcp
【大白话说Java面试题 第215题】【10_网络协议篇】第6题:Socket 是什么?📌 PDF:大白话说Java面试题 — 10_网络协议篇📚 回答:1.1 从应用层视角 Socket 是应用层与 TCP/IP 协议栈之间的 编程接口(API),封装了 IP 地址和端口号,为应用进程提供端到端的网络通信能力。在 Java 中,java.net.Socket 和 java.net.ServerSocket 是对底层系统调用的封装。
white_ant2 个月前
java·网络编程·netty
5-Netty WebSocket 与 HTTP注意:WebSocketServerProtocolHandler 默认不处理分片,需要业务层自行实现。
WZF-Sang2 个月前
服务器·网络·c++·学习·网络编程·php
网络基础——2程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层。因此下面就来学习一些有关应用层的知识
天空'之城2 个月前
linux·开发语言·网络编程·reactor 反应堆模式
Linux 系统编程 14:Reactor 反应堆模式前言:承接上一篇 IO 多路复用与 epoll 核心原理,掌握 epoll API 只是基础,如何基于 epoll 构建高性能、易扩展的服务器架构,才是工业级开发的核心。本篇讲解高性能服务器的通用设计范式 ——Reactor 反应堆模式,拆解三大核心组件与三种经典架构模型,并从零手写实现一个单 Reactor 单线程服务器,带你理解 Nginx、Redis、Netty 等主流中间件的底层设计思想。
天空'之城2 个月前
linux·网络编程
Linux 系统编程 12:TCP 进阶前言:承接上一篇 TCP 基础 Socket 编程,跑通单客户端回显服务只是入门。实际开发中,TCP 字节流特性带来的粘包问题、单服务器同时服务多个客户端的并发需求,是必须解决的两个核心问题。本篇深入拆解粘包的成因与三种主流解决方案,实现多进程、多线程两种经典并发服务器模型,并讲解 TCP 常用选项优化,是从网络编程入门到工程实战的关键一步。
一条泥憨鱼3 个月前
java·开发语言·网络·网络编程
Java网络编程:Socket通信从入门到起飞🌈个人主页:一条泥憨鱼(欢迎各位大佬莅临)🎬精选专栏:数据结构与算法,Java ,苍穹外卖日记,AI学习,JavaWeb
段ヤシ.4 个月前
java·网络编程·反射
回顾Java知识点,面试题汇总Day18(持续更新)通过一个实例化对象映射到类,在程序运行期间就可以获取类的信息,进行相关操作。Class类是反射的基础用一个对象来表示某个类的信息,通过Class类来创建
2401_892070984 个月前
网络编程·reactor·epoll·反应堆模型
【高性能网络核心】Reactor 模型原理与整体架构:从入门到架构师级理解在高性能网络框架(Nginx、Redis、Netty、muduo、Skynet)中,Reactor 模型是绝对的底层灵魂。它解决了 C10K 问题,实现了单线程 / 少量线程支撑百万并发连接,是后端架构师必须吃透的核心模型。