第十一章 网络编程我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序。最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真实的Web浏览器提供静态的和动态的文本和图形内容。11.1 客户端 - 服务器编程模型每个网络应用程序都是基于客户端 - 服务器模型的
采用这种模型,一个应用是由一个服务器进程
和一个或多个客户端进程组成...
分类:
移动开发 时间:
2016-05-30 15:26:43
阅读次数:
376
这是本专栏中进程相关的系统调用的最后一篇,用2个实例演示了以往学习的内容。其一是Mini Shell,仿常用的Bash而做,但对其作了大大简化;其二是一个Daemon程序,可以使读者一窥服务器编程的端倪。 1.13 Shell 对Linux不是太陌生的读者都应该对Shell有一定的了解,就是这个程序 ...
分类:
系统相关 时间:
2016-05-28 20:37:21
阅读次数:
291
在TCP服务器编程那篇博客中,我们提到了更加优化连接方式,其实就是关于I/O的传输模型:我们常见的几种I/O模型:阻塞式I/O模型:当进程进行数据传输连接的时候,只能够阻塞的等待数据的到来,而无法去干其他的事情,将服务进程的所有精力全部去应付当前连接;图解:2.非阻塞式I/O..
分类:
其他好文 时间:
2016-05-25 19:01:09
阅读次数:
291
前面我们写了关于TCP的客户/服务器模式,现在我们写关于UDP的客户/服务器模式。基于TCP编写的应用程序和基于TCP编写的应用程序之间存在一些本质的差异,其原因在于这两个传输层之间的差别:UDP是无连接不可靠的数据报协议,不同于TCP提供的面向连接的可靠字节流。我们先来说一..
分类:
其他好文 时间:
2016-05-25 15:19:29
阅读次数:
188
CommonJS加载模块是同步的,而AMD模块加在是非同步的,允许指定回调函数。由于Nodejs主要用于服务器编程,模块文件一般都存在于本地,所以加载很快,不需要考虑非同步加载,用CommonJS即可。但浏览器端是从服务器加载模块,这就需要用非同步模式,顾选择AMD会合适些。 AMD使用define ...
分类:
Web程序 时间:
2016-05-20 13:09:05
阅读次数:
475
这本书是个韩国人写的,书很老了,2006出版的,也没有更新,只能略做参考了。
1. OSI七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
2. AH,PH,SH,TH,NH,DH; APP HEADER,,,每一层都有一个包头(应用层包头,传输层包头等);
tcp/ip 协议簇;4层;物理层,网络层,传输层,应用层;
以太网报头-IP报头-TCP报头-应用层数据-用户数据...
分类:
其他好文 时间:
2016-05-12 18:37:16
阅读次数:
128
HttpComponents 也就是以前的httpclient项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端/服务器编程工具包,并且它支持 HTTP 协议最新的版本和建议。不过现在的 HttpComponents 包含多个子项目,有:HttpComponents CoreH...
分类:
Web程序 时间:
2016-01-05 18:12:36
阅读次数:
175
关于DAServer的延迟队列,这些年没少坑过大家!一直都是这样或那样的“小毛病”,说是小毛病,实际上都不小,引起的问题都属于那种“顽固性老毛病”,每次引起问题都觉得想不通哪里会有问题。 比如说:曾经用GetSystemTime来获取系统事件,导致时间戳存在问题,应该使用GetLocalTim...
分类:
其他好文 时间:
2016-01-04 19:57:01
阅读次数:
207
8.1 服务器模型c/s模型p2p模型实际使用的P2P模型通常带有一个专门的发现服务器,提供查找服务8.2 服务器编程框架I/O处理单元是服务器管理客户连接的模块一个逻辑单元通常是一个进程或线程,服务器通常由多个逻辑单元,实现对多个客户任务的并行处理8.3 I/O模型socket在创建的时候是默认阻...
分类:
其他好文 时间:
2015-12-09 19:22:25
阅读次数:
241