当前位置: 首页 > news >正文

保定网站排名国内企业网站模板

保定网站排名,国内企业网站模板,苏州方便网络营销咨询热线,娄底建设局网站服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。 1 循环服务器与并发服务器模型 在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程…

服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。

1  循环服务器与并发服务器模型

在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。

目前最常用的服务器模型有:

·循环服务器:服务器在同一时刻只能响应一个客户端的请求

·并发服务器:服务器在同一时刻可以响应多个客户端的请求

1.1 UDP循环服务器的实现方法:

UDP循环服务器每次从套接字上读取一个客户端的请求->处理->然后将结果返回给客户机。

因为UDP是非面向连接的,没有一个客户端可以老是占住服务端。只要处理过程不是死循环,服务器对于每一个客户机的请求总是能够满足。

UDP循环服务器模型为:

socket(...);

bind(...);

while(1)
{

   recvfrom(...);

   process(...);

   sendto(...);
}

1.2 TCP循环服务器的实现方法

TCP循环服务器接受一个客户端的连接,然后处理,完成了这个客户的所有请求后,断开连接。TCP循环服务器一次只能处理一个客户端的请求,只有在这个客户的所有请求满足后,服务器才可以继续后面的请求。如果有一个客户端占住服务器不放时,其它的客户机都不能工作了,因此,TCP服务器一般很少用循环服务器模型的。

TCP循环服务器模型为:

socket(...);

bind(...);

listen(...);

while(1)
{

   accept(...);

   process(...);

   close(...);
}

 

2 三种并发服务器实现方法

一个好的服务器,一般都是并发服务器。并发服务器设计技术一般有:多进程服务器、多线程服务器、I/O复用服务器等。

2.1 多进程并发服务器

在Linux环境下多进程的应用很多,其中最主要的就是网络/客户服务器。多进程服务器是当客户有请求时 ,服务器用一个子进程来处理客户请求。父进程继续等待其它客户的请求。这种方法的优点是当客户有请求时 ,服务器能及时处理客户 ,特别是在客户服务器交互系统中。对于一个 TCP服务器,客户与服务器的连接可能并不马上关闭 ,可能会等到客户提交某些数据后再关闭 ,这段时间服务器端的进程会阻塞 ,所以这时操作系统可能调度其它客户服务进程。比起循环服务器大大提高了服务性能。

TCP多进程并发服务器

TCP并发服务器的思想是每一个客户机的请求并不由服务器直接处理,而是由服务器创建一个子进程来处理。

socket(...);

bind(...);

listen(...);

while(1)
{

   accpet(...);

   if(fork(...) == 0)
   {

    process(...);

    close(...);

    exit(...);
   }
   close(...);
}

2.2多线程服务器

多线程服务器是对多进程的服务器的改进 ,由于多进程服务器在创建进程时要消耗较大的系统资源 ,所以用线程来取代进程 ,这样服务处理程序可以较快的创建。据统计 ,创建线程与创建进程要快 10100 倍 ,所以又把线程称为“轻量级”进程。线程与进程不同的是:一个进程内的所有线程共享相同的全局内存、全局变量等信息。这种机制又带来了同步问题。以下是多线程服务器模板:

socket(...);

bind(...);

listen(...);

while(1)
{

   accpet(...);

   if((pthread_create(...))!==-1)
   {

     process(...);

     close(...);

     exit(...);
   }
   close(...);
}

2.3 I/O复用服务器

I/ O复用技术是为了解决进程或线程阻塞到某个 I/ O系统调用而出现的技术 ,使进程不阻塞于某个特定的I/ O系统调用。它也可用于并发服务器的设计,常用函数select 或 poll来实现。

socket(...);

bind(...);

listen(...);

while(1)
{

  if(select(...)>0)

   if(FD_ISSET(...)>0)

        {

accpet(...);

            process(...);

}

   close(...);
}

 

以上都是TCP服务器端的程序,TCP客户端的程序可以通用:

 

socket(...);

connect(...);

listen(...);

process(...);

close(...);

 

转自:http://www.cnblogs.com/lchb/articles/2749354.html

http://www.lbrq.cn/news/2532133.html

相关文章:

  • 媒体门户网站建设方案如何设计网站步骤
  • 中国宁波新闻网引擎优化seo怎么做
  • 深圳龙岗网站建设公司朝阳网络推广
  • 建设安全监督站的网站小说网站排名前十
  • 百度怎么网站排名360推广怎么收费
  • 护肤网站模版快刷网站
  • 静态网站模板下载关键词seo优化
  • 网页设计网站概述怎么写seo推广网络
  • 新北网站建设引擎优化是什么意思
  • 外语网站制作如何做自己的网站
  • 仪征网站建设seo引擎优化外包公司
  • 外贸商城网站资质seo优化排名技术百度教程
  • 做网站什么职业廊坊网站推广公司
  • 做直播平台网站赚钱吗互联网销售平台
  • 假冒网站能通过备案登记吗电商网站建设公司哪家好
  • 昆明房地产网站建设百度引擎
  • 优秀国内个人网站网址sem推广软件选哪家
  • 宝鸡英文网站建设短视频矩阵seo系统源码
  • to a wordpress上海seo有哪些公司
  • 做金融网站看那些素材宁波优化网页基本流程
  • 杭州网站建设服务企业网站开发费用
  • 在哪个网站找婚照公司网络代运营推广
  • 网站怎么做更新吗如何优化网站
  • 有什么网站可以做宣传网络推广十大平台
  • 做设计需要知道的几个网站吗中国网民博客 seo
  • 北京做网站的公司上海网站推广服务公司
  • 做网站上的在线支付怎么做长沙企业seo服务
  • js网站源码已到期信息流推广主要具有哪两大优势
  • 做网站店铺图片用什么软件搜索引擎营销策划方案
  • 东丰在线网站建设成都移动seo
  • JAVA后端开发:使用 MapStruct 实现 Java 对象映射
  • 【Excel】制作双重饼图
  • 《CLIP改进工作串讲》论文精读笔记
  • 力扣 hot100 Day60
  • “非参数化”大语言模型与RAG的关系?
  • Linux安装ragflow(含一键安装脚本)