网络编程 客户端-服务器编程模型 每个网络应用都是基于客户端-服务器模型的。 客户端-服务器模型中的基本操作是事务。 网络 对于主机,网络是一种I/O设备,作为数据源和数据接收方。 一个以太网段,包括电缆和集线器;每根电缆都有相同的最大位带宽;集线器不加分辩地将一个端口上收到的每个位复制到其他所有的 ...
分类:
其他好文 时间:
2017-12-17 18:22:27
阅读次数:
136
通常我们写服务器模型,有以下几种模型: 以上几种方式,各有千秋: 第1种方式,由于创建新的进程开销比较大,所以会导致服务器性能比较低,但实现比较简单 第2种方式,由于要涉及到线程的同步,有可能会面临死锁等问题 第3种方式,在写应用程序代码时,逻辑比前面两种都复杂。 综合考虑因素,一般普遍认为第三种是 ...
分类:
其他好文 时间:
2017-12-06 00:55:08
阅读次数:
151
一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问 ...
分类:
其他好文 时间:
2017-11-10 20:09:03
阅读次数:
247
常见的Linux并发服务器模型有:多进程并发服务器、多线程并发服务器、select多路I/O转接模型、poll多路I/O转接模型、epoll多路I/O转接模型。 1、多进程并发服务器、多线程并发服务器 多进程并发服务器考虑因素: 父进程最大文件描述符个数(父进程中需要close关闭accept返回的 ...
分类:
其他好文 时间:
2017-11-05 20:01:16
阅读次数:
201
大多数的网络服务器,包括Web服务器都具有一个特点,就是单位时间内必须处理数目巨大的连接请求,但是处理时间却是比较短的。在传统的多线程服务器模型中是这样实现的:一旦有个请求到达,就创建一个新的线程,由该线程执行任务,任务执行完毕之后,线程就退出。这就是"即时创建,即时销毁"的策略。尽管与创建进程相比 ...
分类:
编程语言 时间:
2017-10-30 18:23:11
阅读次数:
162
一、功能概述DHCP(DynamicHostConfigurationProtocol,动态主机配置协议),主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。DHCP协议采用客户端/服务器模型:当DHCP服务器接收到来自网络..
分类:
其他好文 时间:
2017-10-29 23:23:32
阅读次数:
480
定义 1.HTTP协议(超文本传输协议):它可以使浏览器更高效,网络传输减少。它不仅保证正确快速的传输文本,还能确定那一部分内容首先显示(如文本先于图形)。 2.HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型,HTTP是一个无状态的协议。并且永远都是客户端发起请求,服务器回 ...
分类:
Web程序 时间:
2017-09-14 13:14:19
阅读次数:
191
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。 1 循环服务器与并发服务器模型 在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。 目前最常用的服务器模型有: ·循环服务器:服务器在 ...
分类:
系统相关 时间:
2017-07-20 21:02:01
阅读次数:
240
C++线程池原理及创建(转) 本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行 ...
分类:
编程语言 时间:
2017-07-18 17:50:13
阅读次数:
260
前几篇博客分别讲了基于多进程、select类型的IO复用、poll类型的IO复用以及多线程版本的Tiny服务器模型,并给出了主要的代码。至于剩下的epoll类型的IO复用版,本来打算草草带过,毕竟和其他两种IO复用模型差不太多。但今天在看Michael Kerrisk的《Linux/UNIX系统编程 ...
分类:
其他好文 时间:
2017-07-12 23:13:03
阅读次数:
269