ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:47.80KB ,
资源ID:1936558      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1936558.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验七简单的服务器客户端程序实验报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验七简单的服务器客户端程序实验报告.docx

1、实验七简单的服务器客户端程序实验报告系别洛阳理工学院实验报告计算机系班级B120503学号B12050316姓名段浴课程名称计算机网络实验日期2014/11/8实验名称简单的客户/服务器程序设计与实现成绩实验目的:1、 熟悉 Microsoft Visual Studio 2008 编程环境。2、 了解TCP与UDP协议,以及它们之间的区别。3、 了解客户/服务器模型原理。4、 熟悉Socket编程原理,掌握简单的套接字编程。实验条件:硬件:PC机(两台以上)、网卡、已经设定好的以太网环境软件:Microsoft Visual Studio 2008实验原理:1、编写用TCP协议实现的Clie

2、nt端和Server端程序并调试通过Socket()建立流式套接字,返回套接字号。bind(),套接字s与本地地址相连。listen(),通知TCP,服务器准备好接收连接。accept。,接受连接,等待客户端的连接.连接建立,accept。返回,得到新的套接字,screcvt()/send(),在套接字sc上读/写数据,直到数据交换完毕closesocket(),关闭套接字 scclosesocket(),关闭最初套接字 s,服务结束客户方Socket(),建立流失套接字,返回套接字号connect(),将套接字s与远地主机连接sen d()/recv(),在套接字上读/写数据,直到数据交换完

3、closesocket(),关闭套接字结束TCP对话实验内容:Sever端代码:/server.cpp:定义控制台应用程序的入口点。#include #include #include #include #pragmacomment(lib, WS2_32)SOCKET sock1,sock2;int sin_size;struct sockaddr_in my_addr,their_addr;char name20;初始化函数Tcpvoid Init()printf(nnn Server: TCPnnn);/建立套接字const WORD wMinver=0x0101;WSADA TA ws

4、adata;if(0!=:WSAStartup(wMinver,&wsadata)perror(Start socket error!);if(INV ALID_SOCKET=(sock仁:socket(AF_INET,SOCK_STREAM,0)perror(Create socket error!);my_addr.sin_family=AFN ET;my_addr.sin_addr.S_un.S_addr=INADDR_ANY;my_addr.sin_port=htons(1000);if(SOCKET_ERROR=:bind(sock1,(struct sockaddr*)&my_ad

5、dr,sizeof(my_addr) perror(Binding stream socket);exit(1);/开始侦听if(SOCKET_ERROR=:listen(sock1,5)perror(Listening stream socket);exit(1);/接受连接printf( Ready to serve client. Please connect.nnn);sin_size= sizeof(struct sockaddr_in);if(sock2=accept(sock1,(struct sockaddr *)&their_addr,&sin_size)=-1)perror

6、(Accepting stream socket);exit(1);printf(” 选择菜单int menu()Accepting anewconnet:%s,inet_ntoa(their_addr.sin_addr);char *s=(char*)malloc(2*sizeof(char);int c;printf(nnnServer: Menunnn);printf(*nn);printf(*1.SendMessage*n);printf(*2.Receive Message*n);printf(*3.Exit*nn);printf(*n);doprintf(n Enter your

7、choice:);gets(s);if(s0=0)gets(s);c=atoi(s);while(c3);free(s);return c;消息发送函数void Send()char Msg10240;printf(nPlease Input the message:);gets(Msg);Msg10239=0;:send(sock2,Msg,strlen(Msg),0);消息接收函数void Receive()int len;charbuf10240;for(int i=0;i10240;i+)bufi=0;if(len=:recv(sock2,buf,10240,0)=-1)perror(

8、Receving data error);exit(1);printf(The Received Message:%sn,buf);主函数void main()Init();for(;)switch(menu()case1:Send();break;case2:Receive();break;case3:exit(0);:closesocket(sock2);:closesocket(sock1);:WSACIeanup();Client端代码:/ client.cpp :定义控制台应用程序的入口点。 /#include #include #include #include #pragmaco

9、mment(lib, WS2_32)SOCKET sock1,sock2;int sin_size;struct sockaddr_in my_addr,their_addr;char name20;初始化函数Tcpvoid Init()printf(nnn Client: TCPnnn);/建立套接字const WORD wMinver=0x0101;WSADA TA wsadata;if(0!=:WSAStartup(wMi nver, &wsadata)perror(Start socket error);if(INV ALID_SOCKET=(sock仁:socket(AF_INET,

10、SOCK_STREAM,0)perror(Create socket error!);my_addr.sin_family=AFN ET;my_addr.sin_addr.S_ un .S_addr=i net_addr(192.168.93.48); my_addr.s in _port=ht on s(1000);/请求连接printf(” connectin g.);sin_size = sizeof(struct sockaddr_in);if(sock2=(:co nn ect(sock1,(LPSOCKADDR)&my_addr,sin_size)=-1) perror(Accep

11、ting stream socket);exit(1);II选择菜单int menu()char *s=(char*)malloc(2*sizeof(char);Men unnn);int c;prin tf(nnnprin tf(*nn);printf(*n);printf( *n);printf( *nn);printf(*n);doprin tf(n gets(s); if(sO=O) gets(s);c=atoi(s); while(c3); free(s); return c;Clie nt:1.Se nd Message2.Receive Message* 3.ExitEnter

12、your choice:);/消息发送函数void Send()char Msg10240;prin tf(nPlease In put the message:);gets(Msg);Msg10239=0;:se nd(sock1,Msg,strle n( Msg),0);/消息接收函数void Receive() int len;char buf10240;for(int i=0;i10240;i+)bufi=O:if(le n=:recv(sock1,buf,10240,0)=-1)perror(Receving data error); exit(1);printf(The Received Message:%sn,buf);/主函数void main()In it();for(;)switch(me nu() case1:Se nd(); break;case2: Receive(); break;case3:exit(0);:closesocket(sock2);:closesocket(sock1); :WSAClea nup();实验结果Server端界面:发送信息曲 E八计負粗商4HI 实瑩七HI i DflhnfCl i r*nt_ pnnGonncm七d.nsi Client: Menu1.Gan!2.Beehive3.E

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1