1、本身的含义不同:客户端(client,或称为用户端)是响应服务器向客户提供本地服务的程序。而服务器端(server),从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(例如一个PC对服务器端外提供ftp服务,那么也可以被叫为服务器)。
2、执行的功能不同:客户端应该理解为C/S,即通过向客户机上写一些程序,保证即使服务器端出现故障或者维护时候,客户端依然可以在保证工作的前提下、实现脱机工作。服务器主要应用于数据库和Web服务,而PC主要应用于桌面计算和网络终端,设计根本出发点的差异决定了服务器应该具备比PC更可靠的持续运行能力、更强大的存储能力和网络通信能力,同时,对数据相当敏感的应用还要求服务器提供数据备份功能。
3、脚本语言的不同:客户端脚本语言中,有些是作为客户端脚本语言来运行的,它们由客户端的解释器来解释,如VBScript、Javascrip、JScript等都可以作为客户端脚本语言,当它们嵌入到HTML文件中时,即可以按照顺序被执行或者响应某个事件而对事件做出应答。而另外一些作为服务端脚本语言来运行的,如PHP、CGI、JSP等,它们由服务端的解释器来解释,当作为服务端脚本语言来运行时,它们主要生成HTML内容,也可以生成客户端脚本,当被传到客户端的浏览器时,这些客户端脚本代码也可以被解释实现特定的功能。minecraft只有服务端和客户端,没有你说的服主端,服主能输入指令是因为他开了服务器,可以直接在服务器中输入指令,他是在服务端中输入的指令,如果你是OP,你在客户端中输入的命令也被视为在服务端中输入的命令,同样可以实现功能通常来讲,客户端是不需要绑定端口号的,而服务器端是需要绑定监听的端口号。其他的其实区别不是很大了,呵呵,从socket通信的角度来看,UDP通信属于帧传输,TCP则是流传输,在帧传输过程中对于消息的次序和到达情况没有需求,所以UDP属于不可靠传输,不需要确认和排序。这样在客户端和服务器端的实现上就没有太大的差别了。
但是客户端其实也可以用bind来绑定端口的,你在Linux下写一个简单的测试程序就知道了,嘿嘿。客户机/服务器系统 Client/server system 简称C/S系统。是一类按新的应用模式运行的分布式计算机系统。在这个应用模式中,用户只关心完整地解决自己的应用问题,而不关心这些应用问题由系统中哪台或哪几台计算机来完成。在C/S系统中,能为应用提供服务(如文件服务,打印服务,拷贝服务,图象服务,通信管理服务等)的计算机或处理器,当其被请求服务时就成为服务器。一台计算机可能提供多种服务,一个服务也可能要由多台计算机组合完成。与服务器相对,提出服务请求的计算机或处理器在当时就是客户机。从客户应用角度看,这个应用的一部分工作在客户机上完成,其他部分的工作则在(一个或多个)服务器上完成。
C/S系统最重要的特征是:它不是一个主从环境,而是一个平等的环境,即C/S系统中各计算机在不同的场合既可能是客户机,也可能是服务器,进入90年代,C/S系统迅速流行,在于它有很多优点:用户使用简单,直观;编程,调试和维护费用低;系统内部负荷可以做到比较均衡,资源利用率较高;允许在一个客户机上运行不同计算机平台上的多中应用;系统易于扩展,可用性较好,对用户需求变的适应性好。
从技术角度看,C/S系统本质上是将70年代就提出的虚拟机器的概念使用于分布式计算机系统,其本质是实现功能的合理分布和处理的“无缝连接”。C/S系统的实用依赖于若干90年代才成熟的技术:首先由于以一系列标准为基础的开放式系统原则被普遍接受,为各种客户机,服务器之间提供中间件(Middleware)成为可能;第二,CASE工具,视窗技术,面向对象技术,分布式数据库技术等的成熟,为C/S系统环境下的编程,调试,运行提供了良好的条件;性能价格比迅速提高的计算机为开销甚大的分布式 *** 作系统提供了可接受的运行条件,使得分布式逻辑处理,分布式服务器等应用模式得以实现。
C/S系统已广泛用于中小型工商企业,机关等部门,由于通讯技术的进展,C/S系统在地域上可有较大的跨度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)