试验三编写简单的客户服务器程序(共5页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《试验三编写简单的客户服务器程序(共5页).doc》由会员分享,可在线阅读,更多相关《试验三编写简单的客户服务器程序(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验三:编写简单的客户/服务器程序3.1实验目的熟悉客户/服务器交互模型,学习简单的socket编程方法,对网络通信和Socket编程模式要有一定的了解。3.2实验要求要求编写一个简单的客户/服务器程序,实现客户与服务器之间信息的传输,客户端向服务器发送时间、日期请求,服务器返回响应的消息,本实验使用的是CSocket类编程。3.3实验原理客户/服务器模型是互联网应用软件交互过程中最常用、最重要的模型。客户和服务器分别指两个应用程序,客户向服务器发送请求,服务器做出响应。客户机发送请求时,可能出现多个请求信息同时到达服务器的情况,所以就要求服务器具备处理多个并发请求的
2、能力。TCP/IP互联网中,服务器程序通常使用协议或协议的端口号作为自己的特定标识。服务器启动后,在本地主机注册自己使用的端口号,客户端访问某服务时,可以通过与服务器使用的TCP端口建立连接(或直接向服务器程序使用的UDP端口发送信息)来实现。CAsyncSocket是一个异步非阻塞Socket封装类,而CSocket类是CAsyncSocket 类的派生类,它在继承了CAsyncSocket类的所有函数的同时提供了比CAsyncSocket类更高层的网络编程接口。本实验选用的是CSocket类编程。3.4实验内容 3.4.1客户端设计实验步骤 (1)在VC+6.0环境中进行界面设计,定义控件
3、变量图1:客户端界面(2)初始化界面,并创建套接字clientsock, SOCKET s; s=:socket(AF_INET,SOCK_STREAM,0);: WSAAsyncSelect(s,this-m_hWnd,WM_SOCKET, FD_READ);(3) 在实验中使用了WSAAsyncSelect();它是基于消息机制的,在void CTCPDlg:OnSocket(WPARAM wParam,LPARAM lParam)处理网络事件类型,FD_READ表示应用程序想要接收有关是否可读的通知,以便读入数据,下面是读取服务器日期的主要代码,读取时间的代码类似,就不再列举:SYSTE
4、MTIME dateServer; recv(s,(char *)&dateServer,sizeof(SYSTEMTIME),MSG_PEEK); CString str1, str2; str1.Format(%2d-%2d-%2d,dateServer.wYear,dateServer.wMonth,dateServer.wDay);GetDlgItem(IDC_EDIT1)-SetWindowText(str);(4)双击“连接”按钮并编辑代码,实现把Edit控件中输入的数值读取到已经定义好的控件变量中,并与指定IP地址、端口号的服务器建立连接。主要的实现代码如下(有省略):GetDl
5、gItem(IDC_ADDR)-GetWindowText(str);/获取Edit中的输入值GetDlgItem(IDC_PORT)-GetWindowText(str1);/填充套接字结构port=atoi(str1.GetBuffer(1);addr.sin_family=AF_INET;addr.sin_addr.S_un.S_addr=inet_addr(str.GetBuffer(1);addr.sin_port=ntohs(port);/建立连接:connect(s,(sockaddr*)&addr,sizeof(addr)(5)与服务器建立连接后,下一步就是要发送数据,双击“请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试验 编写 简单 客户 服务器 程序
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内