网络编程实验报告

网络编程实验报告

ID:14334059

大小:177.50 KB

页数:11页

时间:2018-07-28

网络编程实验报告_第1页
网络编程实验报告_第2页
网络编程实验报告_第3页
网络编程实验报告_第4页
网络编程实验报告_第5页
资源描述:

《网络编程实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一TCPSocketAPI程序设计一、预备知识1.网络编程基本概念网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。图1-1TCP通信流程2.TCP

2、通信流程TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。一、实验目的1.了解WinsockAPI编程原理;2.掌握TCPSocket程序的编写;3.了解C/S模式的特点;4.学会解决实验中遇到的问题。二、实验任务使用WinsockAPI相关类实现TCPSocket通信程序,并能成功运行。三、实验环境及工具1.Windows2000/XP/72.VisualC++开发平台3.VisualStudio2010四、实验

3、内容和步骤参照《VisualC++网络编程教程》书中81页,TCPSocketAPI程序设计。连接:voidCChatClientDlg::OnConnect(){WSADATAwsd;//WSADATA结构WSAStartup(MAKEWORD(2,2),&wsd);//加载协议,使用Winsock2.2版m_client=socket(AF_INET,SOCK_STREAM,0);//创建流式套接字//服务器地址sockaddr_inserveraddr;UpdateData();if(ServerIP.IsBlan

4、k()){AfxMessageBox("请指定服务器IP!");return;}if(sPort.IsEmpty()){AfxMessageBox("请指定端口!");return;}//获取服务器进程的IP和端口BYTEnFild[4];CStringsIP;ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]);//设置服务器地址结构的内

5、容serveraddr.sin_family=AF_INET;serveraddr.sin_addr.S_un.S_addr=inet_addr(sIP);serveraddr.sin_port=htons(atoi(sPort));//发起连接须指明要访问的服务器进程地址,这个地址存储在serveraddr中if(connect(m_client,(sockaddr*)&serveraddr,sizeof(serveraddr))!=0){MessageBox("连接失败");return;}else{m_ListWo

6、rds.AddString("连接服务器成功!");m_ListWords.SetTopIndex(m_ListWords.GetCount()-1);}WSAAsyncSelect(m_client,m_hWnd,10000,FD_READ

7、FD_CLOSE);//①//界面完善ServerIP.EnableWindow(false);ServerPort.EnableWindow(false);m_ButtonConnect.EnableWindow(false);m_ButtonDisconnect.EnableW

8、indow();m_EditWords.EnableWindow();m_ButtonSend.EnableWindow();m_ButtonExit.EnableWindow(false);m_ButtonClear.EnableWindow();}“断开”按钮的事件过程代码如下: voidCChatClientDlg::OnDisconnect(){//断开与服务器的连接closesocket(m_client);m_ListWords.AddString("从服务器断开");m_ListWords.SetTopIn

9、dex(m_ListWords.GetCount()-1);ServerIP.EnableWindow();ServerPort.EnableWindow();m_ButtonConnect.EnableWindow();m_ButtonDisconnect.EnableWindow(false);m_EditWor

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。