网络实践课程设计报告

网络实践课程设计报告

ID:35235221

大小:50.00 KB

页数:6页

时间:2019-03-22

网络实践课程设计报告_第1页
网络实践课程设计报告_第2页
网络实践课程设计报告_第3页
网络实践课程设计报告_第4页
网络实践课程设计报告_第5页
资源描述:

《网络实践课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、计算机网络实践设计报告学院:计算机班级:成教2012业余教师:李领治学号:姓名:成绩:实验目的:掌握Winsock2.0套接字编程技术的基本方法。实验要求:运用TCP/IPWinsock2.0套接字编程技术,使用VC编写一个面向连接通信的服务端程序与客户端程序,服务器先与端口3000绑定,然后等待客户连接,连接成功后就可与客户端互相收、发信息。交互中,通信任一方只要发送bye,通信过程便自动结束。实验源程序:服务器程序:#pragmacomment(lib,"Ws2_32.lib")//Winsock2函数库//-------------------------

2、------------------------------#include#include#include//Winsock2函数头文件//-------------------------------------------------------boolInitSocket();intmain(int,char**){structsockaddraddr;intlen;boolover;charmsg[255];SOCKETsock,sersock;if(!InitSocket())return0

3、;//加载初始化Winsock2动态链接库Ws2_32.dllsock=socket(AF_INET,SOCK_STREAM,0);//创建监听的流套接口if(sock==INVALID_SOCKET){//不能创建,返回printf("不能创建Socket!");getch();WSACleanup();//卸载Winsock2动态链接库Ws2_32.dllreturn0;}//设置本服务器IP地址和端口号((sockaddr_in*)&addr)->sin_family=AF_INET;//AF_INET:使用Internet协议((sockaddr_i

4、n*)&addr)->sin_port=htons(3000);//服务器端口号3000((sockaddr_in*)&addr)->sin_addr.s_addr=inet_addr("127.1.1.1");//主机地址//把套接口与地址绑定bind(sock,&addr,sizeof(addr));//服务进程准备接收套接口上的连接请求listen(sock,1);//监听方式,准备接收连接请求:1--允许等待队列中的连接请求1个//接受网络连接,生成新的套接口sersock标识这一连接printf("等待客户连接!");len=sizeof(addr

5、);sersock=accept(sock,&addr,&len);//从等待队列中检取连接请求,如队列空则进程阻塞等待;//如不空,则接受客户连接,使用返回连接套接口sersock与该客户连接。//原套接口sock可继续监听其它客户请求。if(sersock==INVALID_SOCKET){//若套接口sersock出错DWORDerr=WSAGetLastError();chartxt[100];sprintf(txt,"errorwhenaccept!---errno:%d",err);printf(txt);getch();closesocket(so

6、ck);//关闭监听套接口sockWSACleanup();//卸载Winsock2动态链接库Ws2_32.dllreturn0;}printf("有客户连接!输入bye通信结束");over=false;//状态设置为未结束//与客户交互会话,直至任一方打入bye后退出循环do{printf("等待对方用户输入信息......");len=recv(sersock,msg,200,0);//接收对方信息printf("对方输入:%s",msg);//显示对方信息if(strcmp(msg,"bye")==0)//若对方信息为bye就结束通信br

7、eak;printf("本方回答:");gets(msg);//键入本方信息if(strcmp(msg,"bye")==0)over=true;//若本方发出bye就结束通信send(sersock,msg,strlen(msg)+1,0);//将本方键入信息发给对方}while(!over);closesocket(sersock);//关闭连接套接口closesocket(sock);//关闭监听套接口printf("会话结束,按任一键返回");getch();WSACleanup();//卸载Winsock2动态链接库Ws2_32.dllr

8、eturn0;}//--

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

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

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