1 / 11
文档名称:

网络编程实验报告.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

网络编程实验报告.doc

上传人:wangzhidaol 2016/7/3 文件大小:0 KB

下载得到文件列表

网络编程实验报告.doc

文档介绍

文档介绍:实验一 TCP Socket API 程序设计一、预备知识 ,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用 IP 地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用( IP地址,端口号)二元组。套接字( Socket )用于描述 IP地址和端口, 是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的 Socket 中,该 Socket 通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的 Socket 中,以供其他程序使用。图 1-1 TCP 通信流程 通信流程 TCP 程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。二、实验目的 Winsock API 编程原理; TCP Socket 程序的编写; C/S 模式的特点; 。三、实验任务使用 Winsock API 相关类实现 TCP Socket 通信程序,并能成功运行。四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++ 开发平台 3. Visual Studio2010 五、实验内容和步骤参照《 Visual C++ 网络编程教程》书中 81页, TCP Socket API 程序设计。连接: hatClientDlg::OnConnect() { WSADATA wsd; //WSADATA 结构 WSAStartup(MAKEWORD(2,2),&wsd); // 加载协议,使用 Winsock 版 m_client = socket(,SOCK_STREAM,0); //创建流式套接字//服务器地址 sockaddr_in serveraddr; UpdateData(); if(()) { AfxMessageBox(" 请指定服务器 IP!"); return; } if(()) { AfxMessageBox(" 请指定端口!"); return; } //获取服务器进程的 IP和端口 BYTE nFild[4]; CString sIP; (nFild[0],nFild[1],nFild[2],nFild[3]); ("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]); //设置服务器地址结构的内容 = ; = inet_addr(sIP); = htons(atoi(sPort)); //发起连接须指明要访问的服务器进程地址,这个地址存储在 serveraddr 中 if(connect(m_client,(sockaddr*)&serveraddr,sizeof(serveraddr)) !=0) { MessageBox(" 连接失败"); return; } else { (" 连接服务器成功!"); (() - 1); } WSAAsyncSelect(m_client,m_hWnd,10000,FD_READ|FD_CLOSE); //①//界面完善 (false); (false); (false); (); (); (); (false); (); }“断开”按钮的事件过程代码如下: hatClientDlg::OnDisconnect() { //断开与服务器的连接 closesocket(m_client); (" 从服务器断开"); (() - 1); Server