客户端和服务器通常是值互联网硬件所扮演的主要角色。客户端又称为用户端,与服务器相对应,与服务器端相互配合运行。

下面是两者的不同点:

1、定义不同

客户端:或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。
服务器端:从广义上讲,服务器是指网络中能对其他机器提供某些服务的计算机系统。(如果一个PC对服务器端外提供ftp服务,也可以叫服务器)。

2、程序编写

客户端:客户端程序不需要我们编写,可以使用IE或者FireFox等浏览器。
服务器端:需要编写Server服务端程序。

3、组成不同

客户端:浏览器既是客户端。
服务器端:中央处理器、内存、芯片组、I和O总线、I和O设备、电源、机箱和相关软件。

4、储存方式不同

客户端:不需要存储。
服务器端:包括SAS和SATA、PCIe闪存卡、NVMe闪存和双列直插式内存插槽的实现在内有多种方式部署服务器端内存。

5、服务对象不同

客户端:使用客户服务。
服务器端:为客户端服务。

服务端

服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。是实现游戏特色化 的重要途径,也是最直接可以通过游戏表现出来的技术,比如你要修改某个NPC的参数,重加载后,在游戏内立刻体现出来。

服务端是一种有针对性的服务程序。它的主要表现形式以“windows窗口程序”与“控制台”为主。一般大型的服务器都是在linux环境下搭建。运行服务端的电脑称为:服务器。

服务端项目:
一、脚本技术
是实现游戏特色化的重要途径,也是最直接可以通过游戏表现出来的技术,比如你要修改某个NPC的参数,重加载后,在游戏内立刻体现出来。
二、引擎插件技术
是指实现脚本功能的程序,可以这么说,脚本是软件,引擎是硬件。当然相对于电脑来说都是软件。
三、创意设计
四、机器技术

一般理解
服务端是一种针对性的程序,所谓的针对性就是专门为某一客户端设立的程序。原则上来讲,服务端是不具备运算能力,因为服务端同时会与多个客户端建立连接,一旦服务端进行运算的话,就会占用大量的资源,从而影响到其他客户端的通信。所以服务端通常都只具备认证与传输数据功能。

复杂性
比如游戏服务端,游戏服务端就是为游戏客户端服务的,服务的内容包含为客户端提供登录,保护游戏玩家资料,提供玩家在线游戏,这也是和单机游戏的区别。游戏客户端的登陆,需要服务端的授权。举例:游戏服务端向玩家提供登陆器,而登陆器就是连接服务端的必须工具,登陆器也可以理解为服务器的授权文件。

内容
可以简单的理解为客户端服务的一些数据,装备数据,魔法技能数据,人物资料数据
这里要说明下如果客户端和服务端的内容不一样,那么客户端就显示不了服务端的内容。比如魔兽世界更新了,那么他肯定会给我俺家提供补丁,为什么要提供补丁呢,因为客户端需要这些补丁来显示服务端更新的内容,如果不更新这些补丁那么进游戏就显示不了。

安全相关
灰鸽子就是一种C/S远程控制软件。C代表Client,即客户的意思。S代表Server,服务的意思。简而言之,灰鸽子是一种提供客户服务关系的远程控制软件。而hacker们眼里的服务端,一般就是指这种C/S控制软件。
不要以为这里的C/S软件里,你是客户而hacker们是服务者,真正说来,中了远程木马的人才是提供服务者,hacker们眼里的服务端,或者说中了服务端木马的人,就是近乎可以随意操作的对象了。
这种类型的客户端,就是一种木马病毒,我们常见的这种病毒都是灰鸽子的病毒,一般来说,刚生成的病毒很容易就会被查杀,经验老道的hacker们一般会进行压缩加花或者绑定处理,以达到免杀的效果,所以我们在运行了未知名却查不到毒的文件后,应先立刻检查进程,看看是否多了一个不知名的危险项目,如果有,立刻结束掉(用户为SYSTEM的是不可能的),然后断网查毒。

编写方式
服务端可以采用VC++或者delphi进行编写,采用socket接口发送数据到服务器,服务器返回数据,如果OK的话就直接跳转到主界面。
服务端通讯模型
大部分都会采用IOCP完成端口进行通讯。在大量玩家同时上线的情况下,如果采用socket网络模型的话,会造成阻塞导致掉线。服务端安装在Linux系统下,充分的发挥了系统的硬件以及网络带宽。

客户端

客户端或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。因特网发展以后较常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,电子邮件服务等等,这样在客户机和服务器端,需要建立特定的通信连接,来保证应用程序 的正常运行。

简介
客户端也称为工作站,指连入网络的计算机,他接受网络服务器的控制和管理,能够共享网络上的各种资源。个人计算机接入因特网后,在获取因特网服务的同时,其本身就成为一台因特网上的工作站。网络工作站需要运行网络操作系统的客户端软件。
随着各类平板电脑、智能手机的出现,这些设备本质上是一个个小型化的手持计算机设备,具有相当强大的网络功能。他自然也就成了网络客户端中迅速扩大的主力队伍。

原理
客户端及伺服端的关系不见得一定建立在两台分开的机器上,同一台机器中也有这种主从关系的存在。提供服务的伺服端以及接受服务的客户端也有可能都在同一台机器上,例如我们在提供网页的服务器上执行浏览器浏览本机所提供的网页,这样在同一台机器上就同时扮演伺服端以及客户端。

发展
随着计算机网络的发展,连接形式逐渐发生变化。主流的两种网络连接模式为C/S和B/S模式,即客户端/服务器端和浏览器端/服务器端。因此,所说的客户端更应理解为c/s。即通过向客户机上写一些程序,保证即使服务器端出现故障或者维护时候,客户端依然可以在保证工作的前提下、实现脱机工作。

DNS客户端
当用户使用域名而不是IP地址访问网络资源时,系统会对需要访问的域名进行解析,即找到域名对应的IP地址。首先查询本地的域名信息缓存,如果查询成功,则返回相应的IP地址,否则向本地域名服务器发出DNS请求。

web客户端
web客户端主要指web浏览器(Browser)。其主要功能是将用户向服务器请求的web资源呈现出来,显示在浏览器窗口中。资源通常有html、pdf、image以及其他格式。主流的web页面浏览器有:微软的IE、火狐、Safari、chrome以及opera
浏览器的主要组件包括用户界面、浏览器引擎、渲染引擎、网络、UI后端、JS解释器、数据存储等。

游戏客户端
游戏客户端是将游戏中的很多资源储存起来的软件。玩家通过客户端输入指令,客户端翻译成数据发送给服务器,服务器处理完给出结果,然后再由客户端翻译成图形化表现出来告诉玩家。可以说,客户端是一个玩家和服务器之间中介。

移动客户端
移动客户端以手机为例,手机客户端就是可以在手机终端运行的软件。
无线互联网网络环境以及各种条件之下,手机客户端上网与手机WAP上网存在各自的优缺点。客户端软件需要在手机上安装才能使用;而利用手机WAP上网,第一次需要手动输入网址,将该网址保存为标签后便可以做到较为方便的访问。
在手机上完成输入网址或者众多保存的标签中查找需要的网站,确实是需要一定时间的。除了游戏类客户端,渐渐商务应用的客户端被大家熟悉和应用。

CS和BS 模式结合产品
例如手机QQ中,涉及到IM部分均为CS模式,而其他频道例如资讯、音乐、书城、股票等则通过BS方式实现。

客户端配置
客户端根据Myc1ienthttpbridge来使用队列化调用。Myclienthttpbridge可以与客户端一起托管在同一个进程、不同的进程或单独的服务器上。
Myclienthttpbridge服务使用WshttpBindIng去调用远程服务。客户端需要检索远程Internet服务的元数据(比如ImyContracthttpbridge的定义),并把它转换为一个队列契约(比如 IMyContract)。

客户端编程
若要调用服务的操作,则客户端首先要导入服务契约到客户端的本地描述(NativeRepresentation)中。如果客户端使用了WCF,调用操作的常见做法是使用代理。代理是一个CLR类,它公开了一个单独的CLR接口用于表示服务契约。注意,如果服务支持多个契约(至少是多个终结点),客户端则需要一个代理对应每个契约类型。代理不仅提供了与服务契约相同的操作,而且还包括管理代理对象生命周期及管理服务连接的方法。代理完全封装了服务的各个方面:服务的位置、实现技术、运行时平台,以及通信传输。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐