logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

LINUX网络基础 [一] - 初识网络,理解网络协议

计算机网络在现代社会中发挥着举足轻重的作用。它打破了数据的孤立状态,使得不同计算机之间能够高效地交换信息和共享资源。无论是工作、学习还是生活,计算机网络都已经成为人们不可或缺的一部分。它让人们能够随时随地访问互联网,获取各种信息和服务,极大地提高了工作效率和生活质量协议(Protocol)是一种约定,是指一组用于规定计算机之间进行通信时,如何传输数据和处理信息的规则和约定。协议是网络通信的基础,它

文章图片
#linux#运维#网络
如果一个被static关键字修饰的变量被放在了.h文件,会导致什么后果

在.h头文件中定义static变量会导致每个包含该文件的.cpp都创建独立副本,造成内存浪费和逻辑错误(如计数不准确)。正确的做法是:1)在头文件用extern声明,在.cpp中定义;2)改用匿名命名空间或类的静态成员变量。这种设计错误会导致程序行为不可预测且难以调试。

#linux
LeetCode - 226. 翻转二叉树

这种方法的优点是避免了递归调用的栈开销,特别是对于非常深的树,可以避免栈溢出的风险。时间复杂度仍然是O(n),其中n是树中节点的数量,因为每个节点只会被处理一次。函数声明返回类型是TreeNode*,但在if(!root)条件中返回的是return;应该返回nullptr表示空树,这样当递归到叶子节点之外时,可以正确地返回空指针给上一层调用。将该节点的非空子节点压入栈中。当栈不为空时,弹出栈顶节点

#算法#leetcode#职场和发展
PlayerFeedback 插件开发日志

**PlayerFeedback 是一款基于 Spigot/Paper 1.21+ 的 Kotlin 插件,旨在为 Minecraft 服务器提供完善的玩家反馈系统。核心功能包括多样化的反馈提交(Bug报告、建议、举报等)、多轮对话互动、智能评价系统(支持8种评价类型)和可视化GUI界面。系统采用SQLite存储数据,支持管理员通过命令和界面管理反馈,包含状态流转、实时通知和统计报告功能。特色设计

#java#前端#服务器
HTTP和HTTPS的区别

HTTP和HTTPS的核心区别在于安全性。HTTPS是HTTP的安全版本,通过SSL/TLS加密确保数据传输安全,防止信息被窃取。HTTP传输明文数据,而HTTPS对数据进行加密,同时提供网站身份验证功能,防止中间人攻击。在连接方式上,HTTPS比HTTP多了一个SSL/TLS握手过程。此外,HTTP使用80端口,HTTPS使用443端口。这些特性使HTTPS成为更安全的网络通信协议。

#http#https#网络协议
TCP连接关闭时,谁来回收socket_fd?有了解过TCP的状态机吗?

TCP连接关闭时,socket_fd可通过应用程序显式调用close()函数或进程终止时由操作系统隐式回收。TCP状态机包含11个关键状态,如CLOSED、LISTEN、ESTABLISHED等,通过三次握手建立连接和四次挥手终止连接。TIME_WAIT状态持续2MSL时间确保连接可靠关闭,但可能引发高并发服务器的端口资源问题,可通过SO_REUSEADDR等方案优化。

#网络#tcp/ip#网络协议
RAII机制是什么

RAII(资源获取即初始化)是C++核心资源管理技术,通过对象生命周期绑定资源,在构造时获取、析构时释放。它解决了传统资源管理中的泄漏问题(如异常抛出或忘记释放),典型应用包括智能指针、文件流和锁管理。RAII使代码更安全简洁,避免手动释放和try-catch块,但需注意析构函数不抛异常等限制。该机制充分利用C++特性,是开发者必备的重要工具。

#数据库
C语言 - strlen函数

strlen函数是用来计算字符串长度的,从字符的首地址开始遍历,以 '\0' 为结束标志,然后将计算的长度返回,但是计算的长度不包含'\0'。

文章图片
#c语言#开发语言
LINUX网络基础 [一] - 初识网络,理解网络协议

计算机网络在现代社会中发挥着举足轻重的作用。它打破了数据的孤立状态,使得不同计算机之间能够高效地交换信息和共享资源。无论是工作、学习还是生活,计算机网络都已经成为人们不可或缺的一部分。它让人们能够随时随地访问互联网,获取各种信息和服务,极大地提高了工作效率和生活质量协议(Protocol)是一种约定,是指一组用于规定计算机之间进行通信时,如何传输数据和处理信息的规则和约定。协议是网络通信的基础,它

文章图片
#linux#运维#网络
LINUX网络基础 [四] 自定义协议+序列反序列化

大家明显感觉到序列化和反序列化都是字符串处理,而且还比较麻烦,如果手写比较丑陋,有没有现成的方法使用呢?答案是有的。市面上常见的解决方案是:json,protobuf都可以帮助我们自动序列,反序列化json的安装使用json前需要按照第三方库,才能进行使用使用apt来安装在 Ubuntu 系统中,应该使用apt包管理器来安装软件包。你可以尝试使用以下命令来安装jsoncpp确认jsoncpp安装后

文章图片
#linux#网络#运维
    共 11 条
  • 1
  • 2
  • 请选择