有志者、事竟成,破釜沉舟,百百二秦关终属楚;苦心人、天不负,卧薪尝胆,三千越甲可吞吴。

拂晓犬吠

学习中遇到困难是很正常的事情,不要苦恼,不要气馁,恰恰相反,应该兴奋,因为又学到知识了,需要不断提高自己应对问题和解决问题的能力和信心。

网络应用(一)

  网络应用从体系结构角度可以分为客户/服务器体系结构应用、纯P2P体系结构应用以及混合体系结构应用三大类。

  客户/服务器体系机构网络应用是最传统、最基本的网络应用,通信过程发生在客户与中心服务器之间,客户与客户之间不会进行通信。

  纯P2P体系结构网络应用中没有传统的中心服务器,通信在对等的对等端之间进行。P2P应用规模伸缩性很强,随时会有对等端加入,也随时有对等端离开,对等端之间的通信也具有很强的动态性。

每个对等端既包括客户进程又包括服务器进程,主动发起通信的对等端表现为客户,而被动通信的对等端表现为服务器。

  混合体系结构网络应用融合了纯P2P应用与传统的客户/服务器应用,即在纯P2P应用中引入传统的中心服务器,解决P2P应用的查找问题。在混合体系结构网络应用中,每个对等端采用传统的客户/服务器通信方式与中心服务器通信,

进行注册、信息发布、查找等操作,在信息共享或通信时又以P2P方式在对等方之间直接进行。

  

  无论哪种体系结构的网络应用,其通信过程的本质仍然是客户/服务器通信方式,即在客户进程与服务器进程之间的通信。

  客户进程和服务器进程都是通过应用编程接口(API)与底层协议直接交互,典型的API是Socket API。网络应用进程使用IP地址和套接字绑定的端口号来标识网络中通信的进程。

  利用Socket编程技术可以开发客户/服务器网络应用程序。

  客户程序和服务器程序通过创建不同类型的套接字,使用传输层的不同协议,SOCK_STREAM类型套接字面向TCP接口,SOCK_DGRAM类型套接字面向UDP接口。

  客户程序和服务器程序创建套接字后,需要进一步调用其他Socket API函数,完成端点地址绑定,发送数据和接收数据等功能。

posted @ 2019-02-20 15:03  ID拂晓犬吠  阅读(190)  评论(0编辑  收藏  举报