frankfan的胡思乱想

学海无涯,回头是岸

2022年4月1日

JavaScript中简明扼要的原型链

摘要: 网上看了一圈关于JavaScript这门语言的所谓「原型链」概念,鱼龙混杂,一些示意图毫无章法略微混乱,这篇小文不讲这些,只阐明3个属性的概念。 JavaScript中有一种数据类型叫「对象」(在此不赘述对象具体是什么,不是什么) JavaScript中有一种数据类型叫「函数」,函数是一种特殊的「对 阅读全文

posted @ 2022-04-01 15:14 shadow_fan 阅读(29) 评论(0) 推荐(0) 编辑

2021年12月31日

TCP编程中的自定义消息

摘要: ####TCP编程中的自定义消息 本章我们讨论的主题是「TCP编程中的自定义消息」 网络编程(服务器编程)这个话题是非常庞大的,核心topic是跨主机通信,在这个主题下可以(必须)引发出非常多其他的外延概念与知识。跨主机的通信本身就是在进行进程间的通信,本机中的进程间通信方式有很多(如管道、共享内存 阅读全文

posted @ 2021-12-31 23:55 shadow_fan 阅读(309) 评论(0) 推荐(0) 编辑

2021年12月28日

UDP编程实践与细节

摘要: 基于以下几点考虑,本文章并不会使用udp协议来实际工程编码实现聊天室。这几点分别是: udp实践IM(即时通讯)并不是科学合理的实践(学习udp-socket的用法无可厚非) udp通信的实践领域更多的是音视频通讯(传输)这种场景上(实时性高,但对消息完整性要求不高) 无论是从学习还是工作的角度,没 阅读全文

posted @ 2021-12-28 09:40 shadow_fan 阅读(92) 评论(0) 推荐(0) 编辑

TCP编程

摘要: tcp 面向连接 流 本文我们需要掌握的主要知识是『理解TCP是面向连接的协议』、『理解TCP是流式的』。 这两个知识点非常关键,只有掌握了这两个基本问题,才能进一步理解TCP协议的真正运作机制,以及网络编程中所遇到和需要解决的问题。 在接下来的章节中,我们需要在基于TCP协议的基础上掌握解决高性能 阅读全文

posted @ 2021-12-28 09:38 shadow_fan 阅读(42) 评论(0) 推荐(0) 编辑

NAT(NAPT)机制及应用

摘要: UDP/TCP的差异 TCP的模拟 模拟TCP的现实意义 本章内容分为三部分: NAT(NAPT)机制及应用 TCP协议的特性 使用UDP模拟TCP实现TCP协议中的主要特性 NAT(NATP) 我们已经学习过UDP与TCP协议(伯克利socket接口函数)的使用,无论是sendto还是send,我 阅读全文

posted @ 2021-12-28 09:36 shadow_fan 阅读(1072) 评论(0) 推荐(0) 编辑

TCP及其细节

摘要: 三次握手 四次挥手 ack 重传 拥塞控制 滑动窗口 接受/发送窗口 这里我们讨论的主题是TCP协议及其细节。 『TCP是面向链接的字节流协议』关于TCP的定性我们已经烂熟于胸了。 对TCP最重要也是最直观的认识是『可靠传输』。意思是对于用户来说只有2种情况: 告诉用户这条链接断了,传输失败(rea 阅读全文

posted @ 2021-12-28 09:35 shadow_fan 阅读(75) 评论(0) 推荐(0) 编辑

基本的网络IO模型

摘要: 线程池 IO模型 IOCP UDP TCP的理论 Socket的基本实践 用户态缓冲区的操作 完整的使用socket接口来跨进程数据传输 这是我们网络编程这一阶段的主要路径。核心是围绕『跨进程』的数据传输。 随着课程的推进,我们逐渐面临一些新的场景,使得我们学习的通用知识似乎无法很好的处理这些场景。 阅读全文

posted @ 2021-12-28 09:33 shadow_fan 阅读(35) 评论(0) 推荐(0) 编辑

多路复用

摘要: 多路复用select的细节 IOCP 高并发服务器常用架构 上一章节我们讨论了线程池、IO模型这两个经典话题。这对于构建高性能高并发服务器是非常重要的一环,今天在这一章节中我们主要来聊聊通用的高并发服务器的架构应该是怎样的,以及IO多路复用的具体用法以及异步IO的Windows实现(IOCP) 因为 阅读全文

posted @ 2021-12-28 09:32 shadow_fan 阅读(121) 评论(0) 推荐(0) 编辑

引用与默认参数

摘要: const 引用 默认参数 const关键词,引用的使用以及函数的默认参数。 const C++中使用const来修饰变量,使其成为常量,所谓常量,就是只能在初始化时给定值,后续不支持再次修改其值。 要做到这个效果,除了在内存的语义上做限定使得内存的WRES中的只读属性设置为1外,const更多的是 阅读全文

posted @ 2021-12-28 09:28 shadow_fan 阅读(221) 评论(0) 推荐(0) 编辑

函数重载与内联

摘要: 命名空间 函数重载 内联函数 本章讲授的主要 内容是命名空间、函数重载以及内联函数,这三个相对于C语言,都是C++独有的。并且都是为了解决C语言无法解决或者优雅解决的问题而存在的。 命名空间 C/C++是编译型语言,在编译后会将源码中定义的变量名或者函数名等变成唯一的符号名,这个符号是独一无二的,这 阅读全文

posted @ 2021-12-28 00:38 shadow_fan 阅读(64) 评论(0) 推荐(0) 编辑

导航