客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行1。因特网发展以后,较常用的用户端包括了如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,电子邮件服务等等,这样在客户机和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行2。
简介客户端也称为工作站(Workstation),指连入网络的计算机,它接受网络服务器的控制和管理,能够共享网络上的各种资源。个人计算机接入因特网后,在获取因特网服务的同时,其本身就成为一台因特网上的工作站。网络工作站需要运行网络操作系统的客户端软件3。
随着各类平板电脑、智能手机的出现,这些设备本质上是一个个小型化的手持计算机设备,具有相当强大的网络功能。它们自然也就成了网络客户端中迅速扩大的主力队伍3。
原理客户端及伺服端的关系不见得一定建立在两台分开的机器上,同一台机器中也有这种主从关系的存在。提供服务的伺服端及接受服务的客户端也有可能都在同一台机器上,例如我们在提供网页的服务器上执行浏览器浏览本机所提供的网页,这样在同一台机器上就同时扮演伺服端及客户端。
发展随着计算机网络的发展,连接形式逐渐发生变化。至今为止,主流的两种网络连接模式为C/S和B/S模式,即客户端/服务器端和浏览器端/服务器端。因此,所说的客户端更应该理解为C/S。即通过向客户机上写一些程序,保证即使服务器端出现故障或者维护时候,客户端依然可以在保证工作的前提下、实现脱机工作。
DNS客户端当用户使用域名而不是IP地址访问网络资源时,系统会对需要访问的域名进行解析,即找到域名对应的IP地址。首先查询本地的域名信息缓存,如果查询成功,则返回相应的IP地址,否则向本地域名服务器发出DNS请求4。
web客户端Web客户端主要指web浏览器(Browser)。其主要功能是将用户向服务器请求的Web资源呈现出来,显示在浏览器窗口中。资源通常有html、pdf、image及其他格式。主流的Web页面浏览器有:微软的IE、Mozilla的Firefox、苹果公司的Safari、Google的Chrome及Opera软件公司的Opera5。
浏览器的主要组件包括用户界面(User Interface)、浏览器引擎(Browser Engine)、渲染引擎(Rendering Engine)、网络(Networking)、UI后端(UI Backend)、JS解释器(JavaScript)、数据存储(Data persistence)等5。
游戏客户端游戏客户端是将游戏中的很多资源储存起来的软件。玩家通过客户端输入指令,客户端翻译成数据发送给服务器,服务器处理完给出结果,然后再由客户端翻译成图形化表现出来告诉玩家。可以说,客户端是一个玩家和服务器之间中介。
移动客户端移动客户端以手机为例,手机客户端就是可以在手机终端运行的软件。也是3G产业中一个重点发展的项目,具有重要的意义。
随着3G时代的到来,手机上网已经慢慢地进入了人们的生活,谈到未来基于手机上的无线互联网的发展趋势究竟是手机客户端上网还是手机wap上网,这个阶段我们还很难过早的下定论,但是有一点可以肯定,那就是用户体验的好坏将直接决定两者的前途命运。
无线互联网网络环境以及各种条件之下,手机客户端上网与手机WAP上网存在各自的优缺点。客户端软件需要在手机上安装才能使用;而利用手机WAP上网,第一次则需要手动输入网址,将该网址保存为标签后便可以做到较为方便的访问6。
在手机上完成输入网址或者在众多保存的标签中查找需要的网址,确实是需要一定时间的。除了游戏类客户端,渐渐地商务应用的客户端渐渐被大家熟悉和应用,为我们的生活、工作带来了便捷。
CS模式和BS****模式结合产品
例如手机QQ中,涉及到IM部分均为CS模式(这一块难以通过BS模式支持的协议来表现),而其他的频道例如资讯、音乐、书城、股票等则通过BS方式来表现。手机msn也和手机qq类似,在IM功能实现上采用CS,而资讯类采用BS方式。手机QQ音乐中除音乐门户是BS模式外,其他都是CS模式实现。
客户端配置客户端根据Myc1ienthttpbridge来使用队列化调用。Myclienthttpbridge可以与客户端一起托管在同一个进程、不同的进程或单独的服务器上。 Myclienthttpbridge服务使用WshttpBindIng去调用远程服务。客户端需要检索远程Internet服务的元数据(比如ImyContracthttpbridge的定义),并把它转换为一个队列契约(比如 IMyContract)7。
客户端编程若要调用服务的操作,则客户端首先要导入服务契约到客户端的本地描述(NativeRepresentation)中。如果客户端使用了WCF,调用操作的常见做法是使用代理。代理是一个CLR类,它公开了一个单独的CLR接口用于表示服务契约。注意,如果服务支持多个契约(至少是多个终结点),客户端则需要一个代理对应每个契约类型。代理不仅提供了与服务契约相同的操作,而且还包括管理代理对象生命周期及管理服务连接的方法。代理完全封装了服务的各个方面:服务的位置、实现技术、运行时平台,以及通信传输8。
本词条内容贡献者为:
闫晓东 - 副教授 - 中央民族大学信息工程学院