查看: 1631|回复: 0

B:网络编程的看法---网络通讯的结构

[复制链接]
  • TA的每日心情
    开心
    2014-2-20 10:23
  • 签到天数: 45 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2014-1-22 10:32:25 | 显示全部楼层 |阅读模式
    分享到:
    上一篇A:对网络编程的看法 主要是介绍了网络编程中一般会用到的IP地址和端口的概念,那么今天我们再继续对网络编程进行深一层次的了解。
    那么从上一篇A:对网络编程的看法我们了解的网络编程,其实就是多个不同的设备,通过识别对方来进行数据的传输或者交换,这是一种对网络编程的宏观了解,那么今天我们就再进一步去了解网络编程是怎样进行传输数据的,也就是网络通讯的过程。

    1.jpg

    网络通讯时是基于“请求—相应”模式来进行,IP地址和端口号已经可以让我们能够识别设备,那么必须要有一台设备去要求建立连接,也就是比较主动的一方叫做客户端,还要有设备愿意反应他的连接,也就是服务端。打个比较恰当的比方,我们去火车站售票口去买票,肯定是我们先问:“上海到南京的票今天有几趟?”售票员便会相应你的问题:“十二点有一趟动车,下午一点有一趟高铁….”然后你再说:“我买十二点的动车票两张。”售票员会相应你的要求,打出两张票来给你。整个过程买票者就是一个“请求—相应”的过程,买票者就是客户端,售票员便是服务端。
    由此,理解了上段,那么我们总结为: 在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序,简称客户端,而在第一次通讯中等待连接的程序被称作服务器端(Server)程序,简称服务器。一旦通讯建立,则客户端和服务器端完全一样,没有本质的区别。
    如果你去阅读相关网络编程的书籍,肯定会有C/S结构的例子。C便是Client,S便是Server,书中的例子一般都是聊天程序,像QQ一样,肯意实现两个设备的数据传输。使用C/S结 构的程序,在开发时需要分别开发客户端和服务器端,这种结构的优势在于由于客户端是专门开发的,所以根据需要实现各种效果,而服 务器端也需要专门进行开发。但是这种结构也存在着很多不足,一种程序的客户端只能和对应的服务器端通讯,而不能和 其它服务器端通讯,在实际维护时,也需要维护专门的客户端和服务器端,维护的压力比较大。
    除了C/S结构,还有一种结构就是B/S结构,是Browser/Server的简称。这种结构就是不去使用专门的客户端,但是会使用通用的客户端。这种结构强于C/S结构的是开的压力小,不用去维护客户端。其实,总的说来,B/S结构是一种特殊的C/S结构。
    但是,我必须要强调一点:虽然我们分为客户端和服务端,但是一旦两台设备建立连接,那么两者便完全一样,没有任何区别。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 18:47 , Processed in 0.111388 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.