什么是套接字socket编程
套接字socket是一种客户端/服务器端,即C/S的架构机制,主要用于网络中的进程之间的通信。需要两个特殊的文件,一个在服务器端,一个在客户端,并各自维护。
2025年09月03日
套接字socket是一种客户端/服务器端,即C/S的架构机制,主要用于网络中的进程之间的通信。需要两个特殊的文件,一个在服务器端,一个在客户端,并各自维护。
2025年09月03日
在刚刚接触 Redis 的时候,最想要知道的是一个’set name Jhon’ 命令到达 Redis 服务器的时候,它是如何返回’OK’ 的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己。阅读别人的代码是很枯燥的,但带着好奇心阅读代码,是一件很兴奋的事情,接着翻到了 Redis 源码的 main() 函数。
Redis 在启动做了一些初始化逻辑,比如配置文件读取,数据中心初始化,网络通信模块初始化等,待所有初始化任务完毕后,便开始等待请求。
2025年09月03日
CompletableFuture由Java 8提供,是实现异步化的工具类,上手难度较低,且功能强大,支持通过函数式编程的方式对各类操作进行组合编排。相比于ListenableFuture,CompletableFuture有效提升了代码的可读性,解决了“回调地狱”的问题。本文主要讲述CompletableFuture的原理与实践,同时结合了美团外卖商家端API的异步化实战,希望能对从事相关开发的同学有所帮助或启发。
2025年09月03日
1.理解阻塞io,非阻塞io,同步io,异步io的区别
2.理解BIO和AIO的区别
io多路复用只负责io检测,不负责io操作
阻塞io中的write,能写多少是多少,只要写成功就返回,譬如准备写500字节,但是只写成功了300就会返回,不会阻塞到500字节全部写成功才返回
2025年09月03日
gin 是目前 Go 里面使用最广泛的框架之一了,弄清楚 gin 框架的原理,有助于我们更好的使用 gin。这个系列 gin 源码阅读会逐步讲明白 gin 的原理,欢迎关注后续文章。
gin 概览
想弄清楚 gin, 需要弄明白以下几个问题:
2025年09月03日
Linux网络编程--epoll 模型原理详解以及实例
1.简介
Linux I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。Linux 2.6内核中有提高网络I/O性能的新方法,即epoll 。
epoll是什么?按照man手册的说法是为处理大批量句柄而作了改进的poll。要使用epoll只需要以下的三个系统函数调用: epoll_create(2),epoll_ctl(2),epoll_wait(2)。
2025年09月03日
Scalers点评:在2015年,ScalersTalk成长会Python小组完成了《Python核心编程》第1轮的学习。到2016年,我们开始第二轮的学习,并且将重点放在章节的习题上。Python小组是成长会内部小组,如果你想和我们一起学习Python,你需要是成长会成员,并且完成相关进群任务。
我们的节奏是一周一章学到位,章节习题都会一个一个过。通过到位地执行,达到实质性的提升。
往期日志:
2025年09月03日
首先列举一下socket网络通信的例子:使用局域网打游戏,用浏览器连接外网看视频,使用QQ与好友通信,手机连接wifi传数据等等。socket是底层抽象给应用层所使用的一套接口函数,本篇讲解这些函数的使用。
对象:
对象之间的联系:
client是根据server的‘’ip地址+端口号”找到对方并建立连接的
2025年09月03日
网络框架的两种设计模式,无论操作系统的网络 I/O 模型的设计,还是上层网络框架的网络I/O模型的设计,用的都是这两种设计模式之一。
(1)Reactor模式:主动模式。
应用程序不断地轮询,询问操作系统或者网络框架、I/O是否就绪。Linux系统下的select、poll、epoll就属于主动模式,需要应用程序中有一个循环一直轮询;Java中的NIO也属于这种模式。在这种模式下,实际的I/O操作还是应用程序执行的。
2025年09月03日
Linux网络编程API函数初步剖析
今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作。