
您好,第一、什么是C/S结构。
C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系
统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的 *** 作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。
第二、什么是B/S结构。
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着
Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过>
(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应
用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地
点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和 *** 作共同的数据库;它能有效地保护数据平台和管理访问权限,服
务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
第三、管理软件主流技术。
管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期。其次,今天所有电脑的
浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是一样的,使用人对 *** 作培训的要求不高,而且软件可 *** 作性强,易于识
别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。
二、C/S和B/S之比较
C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美国Borland公司
最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。这两种技术都有自己一定的市
场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大群文人墨客为自己摇旗呐喊,广告满天飞,可
谓仁者见仁,智者见智。
1、C/S架构软件的优势与劣势
(1)、应用服务器运行数据负荷较轻。
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何 *** 作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。
(2)、数据的储存管理功能较为透明。
在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
(3)、C/S架构的劣势是高昂的维护成本且投资大。
首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的 *** 作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
其次,传统的C/S结构的软件需要针对不同的 *** 作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。
2、B/S架构软件的优势与劣势
(1)、维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的 *** 作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
(2)、成本降低,选择更多。
大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器 *** 作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器 *** 作系统的选择是很多的,不管选用那种 *** 作系统都可以让大部分人使用windows作为桌面 *** 作系统电脑不受影响,这就使的最流行免费的Linux *** 作系统快速发展起来,Linux除了 *** 作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
比如说很多人每天上“网易”(原文为新浪)网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么 *** 作系统,而事实上大部分网站确实没有使用windows *** 作系统,但用户的电脑本身安装的大部分是windows *** 作系统。
(3)、应用服务器运行数据负荷较重。
由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过>
可以做BS架构的工具有很多,比较常见的有net的visualstudio,有Java的eclipse等等。
所谓B/S架构,其实就是服务器端软件,是通过浏览器来访问的,也就是所有界面都是网页,所回以你问用什么工具开发,很多工具都可以,当然最重要的跟用户交互的是网答页页面,所以开发网页的工具加上后台的语言都可以开发的。
BS架构是指浏览器/服务器架构,通常包含3层:浏览器层次作为客户端zd,Web服务器(或者应用服务器)作为业务处理端专,数据库服务器作为数据存储端。
扩展资料:
BS架构主流开发语言与数据库:
BS架构是一种基于浏览器知载体的框架,包含前端、后端和数据库三个大的方向,各个方向的技术都不一样,如果都懂的就是全栈了。现在主流的技术包含NET、SqlServer、Bootstrap等。
1、Web前端开发技术包括三个要素:HTML、CSS和JavaScript,当然还有很多高级的前端框架,比如bootstrap、Jquery等,前端开发也是比较的复杂,如果找到规律,开发起来也比较的快。
2、Web后端技术也有很多,比如Net、JAVA、PHP等,各大语言都有其开发架构,像NET的MVC架构,一般web后端技术的知识面是很广的,设计模式、回需求分析、性能优化等都要懂。
3、数据库现在有答三种主流的数据库:MysqlSQLserverOracle,还有Nosql数据库:Redis、Mogodb等。
LGame是框架的一部分,也是针对Java2D游戏开发而设计的“一揽子”项目,它的创立初衷在于构建一个高效且完善的Java2D游戏开发体系。关于LGame的简要介绍:
LGame代码高度向下兼容,jre14及以上版本皆可以正常运行。
LGame是一个高通用性的游戏框架,作为支持Java桌面游戏以及网页游戏开发的全功能引擎,LGame无论对画面绘制、精灵碰撞、特效渲染、窗体组件,还是XML *** 作,文本数据库 *** 作,>
LGame内置有视频解码器,支持mp4视频文件播放(在LGame-Simple-030中将支持flv,在06-07版本中将以可选组件方式引入jmc支持,以争取可播放视频种类的最大化),内置音频解码器支持mid、mod、mp3、ogg、wav、au、aiff、aac、rmf等音频播放,以上解码器皆不依赖于本地资源,只要拥有jre14或以上环境即可正常运行。
就目前阶段而言,LGame图形渲染依赖于Java2D,这虽然保证了LGame可以运行于所有获得JRE支持的桌面系统与浏览器,但在处理复杂图形时效果始终不算理想。因此,后续版本将对此进行改进,预计将于03-04版中提供jogl与lwjgl支持(即opengl支持),将于04-05版中对现有Graphics2D对象进行特殊强化,争取最大程度上解决Java桌面应用的效率问题。
应该说,LGame并不是开发某种特定游戏类型时采用的游戏引擎,而是一个游戏开发框架,一个Java的桌面游戏开发解决方案。因此,所有你能想到的2D游戏类型,都可以采用LGame进行开发。
理论上讲,只要您能够熟练 *** 作LGame,世界上根本没有任何一款2D游戏是您所无法快速实现的。
PS:目前LGame尚未推出正式版本,LGame-Simple版为前瞻性测试及吸收反馈意见使用,此时LGame框架的基本架构尚未最终确定,因此无法保证不同版本间的兼容性。LGame-Simple以每版05的方式跳跃式升级,当LGame-Simple更新到10版本时,既推出LGame-01正式版本,LGame正式版推出后将始终保持新版与旧版间的兼容性。
SpringFrameworkJava开源J2EE框架
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVCWeb框架。SpringIDE:Eclipse平台下一个辅助开发插件
StrutsJava开源Web框架
Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(messageresources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。StrutsIDE:用于Struts辅助开发的一个Eclipse插件
HibernateJava开源持久层框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来 *** 纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:Hibernate
随着互联网的不断发展,无服务器应用编程开发成为了程序员学习的又一个发展方向,下面北大青鸟>
我跟你讲用PHP作为游戏服务器的话,就不得不提比较火的Swoole
Swoole可用来开发PHP的高性能高并发TCP/UDPServer。业务逻辑部分使用多进程同步阻塞方式来运行。这样既保证了Server能够应对高并发和大量TCP连接。又保证业务代码仍然可以简单的编写。
PHP+Swoole创建Websocket服务,用户的所有 *** 作通过Websocket发送到服务器。游戏状态的改变也通过Websocket发送到客户端。
虎牙直播APP基于Swoole实现了TCP长连接PUSH服务,日均活跃200万用户。TCP并发连接数超过40万,收发消息数峰值超过10万条每秒。你搞个游戏支持同时有20w+的在线是没问题的。
Swoole作为一个高级phper使用的技术,初级程序员缺少通信、Unix系统编程、网络通信编程、协程异步io等知识掌握,难免学习上遇到困难
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)