概念

IO中同步、异步与阻塞、非阻塞的区别

一、同步与异步
同步/异步, 它们是消息的通知机制

1. 概念解释
A. 同步
所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。

按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。
但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。
最常见的例子就是 SendMessage。
该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。
当对方处理完毕以后,该函数才把消息处理函数所返回的值返回给调用者。…

TCP协议缺陷不完全记录

零。前言

TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议。有线网络环境下,TCP表现的如虎添翼,但在移动互联网和物联网环境下,稍微表现得略有不足。

移动互联网突出特性不稳定:信号不稳定,网络连接不稳定。虽然目前发展到4G,手机网络带宽有所增强,但因其流动特性,信号也不是那么稳定:坐长途公交车,或搭乘城铁时,或周边上网密集时等环境,现实环境很复杂。

以下讨论基于Linux服务器环境,假定环境为移动互联网环境。记录我目前所知TCP的一些不足,有所偏差,请给与指正。…

随手记之TCP Keepalive笔记

零。前言

TCP是无感知的虚拟连接,中间断开两端不会立刻得到通知。一般在使用长连接的环境下,需要心跳保活机制可以勉强感知其存活。业务层面有心跳机制,TCP协议也提供了心跳保活机制。

一。TCP Keepalive解读

长连接的环境下,人们一般使用业务层面或上层应用层协议(诸如MQTT,SOCKET.IO等)里面定义和使用。一旦有热数据需要传递,若此时连接已经被中介设备断开,应用程序没有及时感知的话,那么就会导致在一个无效的数据链路层面发送业务数据,结果就是发送失败。…

幽默讲解 Linux 的 Socket IO 模型

前言

之前有看到用很幽默的方式讲解Windows的socket IO模型,借用这个故事,讲解下linux的socket IO模型;

老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。
他们的信会被邮递员投递到他们小区门口的收发室里。这和Socket模型非常类似。

下面就以老陈接收信件为例讲解linux的 Socket I/O模型。…

多形态MVC式Web架构的分类

关键要点


  • MVC已成为每一代软件开发人员所最早接触到的软件开发原则之一。
  • MVC应被视为一种通用的架构原则和方法。
  • MVC三元组件的语义随架构环境的不同而变化。
  • 可将基于HTTP的Web MVC(WMVC)分成三个不同的类别:sWMVC、dWMVC和pWMVC。
  • 随着近期技术的进步,异步且实时观察变化的“事件循环”可用于WMVC应用的实现。

推荐一部短片《How TCP/IP works》

我是一个比较懂网络的人,但我不是学者,我不是老师,我也不是码农,事实上我有阅读综合症,我思维比较松散跳跃,而且我也不怎么会编程,这就意味着我不可能是一个学者,不可能成为老师,也不可能成为码农。但是,我懂网络。我想表达的并不是我多么懂网络,而是想说,我特别喜欢给别人讲我知道的东西,不光是网络技术,还包括古罗马历史,问问我身边的人就知道了…
我十年来一直期待的一个东西,如今终于有了,它是《How TCP/IP works》,我觉得所有搞网络的人都该看一下,同时,所有不搞网络的人也应该看一下,比如那些编程的人…
我只是给出了优酷的地址,但是还是在youtube上看比较好,不管怎样,按着这个题目自己找吧。
普通搞网络的人也许觉得我这里推荐的东西非常浅显,如果你持有这个想法的发,那么本资源不是推荐给你的;
非IT领域的人以及IT领域编程的人也许会觉得我在鄙视他们,并不是!事实上,我觉得编程的人很大一部分都不知道网络是怎么运作的;
最后剩下搞网络的专家,这部分人我觉得都会看完视频并叹为惊奇的。
是的,这个视频是我梦寐以求的,我一直在期待这样的东西!如果你看我的博客,并且仔细看,就会发现,我几乎一直在尝试用图片或者别的方法是分享技术,我决不使用代码分析的方式,因为我觉得那太low!要么自己写代码,要么就不要分析代码!不幸的是,大多数人,包括温州老板在内都觉的,只要看一遍Linux内核代码就登峰造极了,老板太可怜了。

这个片子真的超级好,影片中的所有细节我都懂,甚至更懂,但我没有能力制作这么一个视频,我甚至没有能力去讲给老婆听并且让她听得懂!幸运又讽刺的是,老婆看这个视频竟然知道了TCP/IP的基本原理!…
我敢说你也不一定懂,如果你懂,那么看完影片后除了惊奇没有别的反应,如果你不懂,那为何不看一遍这个片子呢?…

Page 3 of 512345