计算机网络原理实验三winsock套接字编程实验报告

计算机网络原理实验三winsock套接字编程实验报告

ID:19275903

大小:86.50 KB

页数:6页

时间:2018-09-30

计算机网络原理实验三winsock套接字编程实验报告_第1页
计算机网络原理实验三winsock套接字编程实验报告_第2页
计算机网络原理实验三winsock套接字编程实验报告_第3页
计算机网络原理实验三winsock套接字编程实验报告_第4页
计算机网络原理实验三winsock套接字编程实验报告_第5页
资源描述:

《计算机网络原理实验三winsock套接字编程实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验三、WINSOCK套接字编程实验报告序号:姓名:刘易学号:20101150040成绩指导老师:1.实验目的:用C或JAVA语言编写客户端、服务器程序,实现基于TCP或UDP的网络通信数据传输服务,熟悉基于TCP或UDP的Socket编程原理。2.实验环境:建立在TCP/IP网络体系结构之上计算机网络实验环境。各计算机除了安装TCP/IP软件外,还安装了TCP/IP开发系统。计算机具备Windows环境中套接字socket的编程接口功能,可为用户提供全网范围的进程通信功能。3.实验指导:参见套接字编程实验指导4.实验步骤

2、(1)运行指导书中给出的参考程序,分析实验结果,并回答问题(1)-(3)(2)根据给定参考程序修改代码,完善修改服务器和客户端的功能。并回答问题(4)-(5)5.实验结果分析(1)为什么在服务器和客户端要包含winsock2.h文件?(2)为什么在服务器和客户端程序中要加入#pragmacomment(lib,"ws2_32.lib")语句,如果不加会出现什么问题?(3)为什么在服务器和客户端程序中要使用WSAStartup函数,如果不用,程序会有什么问题?(4)修改后的程序完成实现了什么功能,附上修改后的源代码。(修改或

3、填加的代码用波浪线标注,并填加注释),并附上实验截图客户端改变的代码:{for(;;){memset(buf,0,1024);printf("Pleaseinputalinetoserver:");scanf("%s",&buf);rval=send(fd,buf,strlen(buf)+1,0);if(rval<0)printf("Writeerror!");if((rval=recv(fd,buf,sizeof(buf),0)<0))perror("readingstreammessage");if(rval==0)p

4、rintf("serversaid:%s",buf);}服务器端修改的代码:for(;;){memset(buf,0,sizeof(buf));if((rval=recv(msgsock,buf,sizeof(buf),0)<0))perror("readingstreammessage");if(rval==0)printf("clientsaid:%s",buf);printf("server-->");scanf("%s",&buf);rval=send(msgsock,buf,strlen(buf)+1,0

5、);}}(1)请详细说明此实验在设计及运行时遇到的问题和解决办法,及实验体会及建议。6.给出客户端和服务器端详细代码和注释。客户端总体代码:WSADATAwsaData;interr=0,rval=0;SOCKETfd;structsockaddr_inservaddr;structhostent*hp;charbuf[1024]="";wVersionRequested=MAKEWORD(2,2);err=WSAStartup(wVersionRequested,&wsaData);if(err!=0)return-1;

6、if((fd=socket(AF_INET,SOCK_STREAM,0))<0){printf("Cannotcreatesocket!");exit(2);}servaddr.sin_family=AF_INET;servaddr.sin_port=htons(PORT);hp=gethostbyname("169.254.65.108");memcpy((char*)&servaddr.sin_addr,(char*)hp->h_addr,hp->h_length);memset(servaddr.sin_zero,0

7、,sizeof(servaddr.sin_zero));rval=connect(fd,(sockaddr*)&servaddr,sizeof(servaddr));if(rval<0)printf("Cannotcreateconnect!");exit(3);}else{for(;;){memset(buf,0,1024);printf("Pleaseinputalinetoserver:");scanf("%s",&buf);rval=send(fd,buf,strlen(buf)+1,0);if(rval<0)pr

8、intf("Writeerror!");if((rval=recv(fd,buf,sizeof(buf),0)<0))perror("readingstreammessage");if(rval==0)printf("serversaid:%s",buf);}}closesocket(fd);exi

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

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

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