六.实验总结
本次试验非常有意思,也很贴近我们的生活,平时用惯了各种聊天工具,真正去实现一个也是不容易的。需要我们熟练掌握Windows环境下基于WinSock的编程方法和通信实现。这个聊天室应用程序是基于客户/服务器模型的,一个服务器只能支持一个客户,因此它实际上是一个基于“点对点”模型的应用程序。通过这个应用程序,用户可以在两台计算机之间进行字符串传输——即可以为两个人进行网上聊天提供服务,而且两个人的传输的字符串被保留在程序的列表框中,并且进行分类,分为传送和接收的字符串。程序一开始,要选择此程序是服务器端还是客户端,服务器要创建一个用于侦听的套接字,为该套接字分配地址之后,开始侦听客户端的连接请求;客户机在创建套接字完毕后,为套接字分配地址,向服务器端发送连接请求;服务器套接字在收到客户机的连接请示后,接受请求,建立于客户端之间的连接,用户就可以在服务器和客户机之间进行数据传输了。在结束传输之后,客户机调用closesocket()函数关闭套接字,服务器也调用该函数关闭用于侦听和连接的套接字。对于这个应用程序让我进一步掌握了利用MFC AppWizard生成程序框架,并且通过函数的编写达到界面响应的效果。但是本次试验只能进行字符的传输,而且是点对点的传输,如何改动使他能进行多对多、传输其他文件是我们下一步要研究的问题。
七.思考题或讨论题
1.本次实验所涉及的“实体”是什么?实体间通过什么方式建立协议?
答:实体,可以理解为具体的设备,计算机之类的终端、路由器交换机之类的连接设备都是实体。本次实验中实体即客户端和服务器,是通过创建套接字,服务器端侦听,客户端发送连接请求,然后服务器和客户端连接,即客户端-服务器方式建立协议. TCP/IP应用服务采用客户机/服务器工作模式,服务器端启动守护进程,等待客户端的请求;服务器对应客户端的请求,派生子进程与客户进程进行数据通信,提供服务
2.服务和协议的区别与联系?本次实验的协议过程(即客户-服务器方式)是怎样建立
的?用哪那些服务?
答:首先,协议的实现保证了能够向上一层提供服务,使用本层服务的实体只能看见服务而无法看见下面的协议,协议是水平的。下面的协议对上面的实体是透明的其次,协
议是“水平的”即协议是控制对等实体之间通信的规则但服务是“垂直的”,即服务是由