实验一:WinSock点对点通信程序.docx

实验一:WinSock点对点通信程序.docx

ID:57437306

大小:99.54 KB

页数:9页

时间:2020-08-16

实验一:WinSock点对点通信程序.docx_第1页
实验一:WinSock点对点通信程序.docx_第2页
实验一:WinSock点对点通信程序.docx_第3页
实验一:WinSock点对点通信程序.docx_第4页
实验一:WinSock点对点通信程序.docx_第5页
资源描述:

《实验一:WinSock点对点通信程序.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一:WinSock-点对点通信程序————————————————————————————————作者:————————————————————————————————日期:计算机网络实验——WinSock点对点通信程序实验目的:WinSock是Windows操作系统下的Socket编程接口,通过WinSock函数库可以实现基于TCP/IP协议的进程之间通信。Ø理解基于WinSock的客户/服务器概念Ø掌握使用WinSock进行编程的方法Ø了解常见WinSock开发模式的使用实验内容:基于WinSock开发一个简单的客户/服务器文本传输程序,客户端能够发送由标准输入得到的文本,服务器能够

2、接收并将其显示在标准输出上。实验环境:程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows。程序开发环境为VisualC++6.0版本。实验步骤:步骤1需求分析程序功能为:(1)服务器可以接受任何客户的连接(2)服务器在同一时刻只能与一个客户通信,直到该客户退出才可以接收下一个客户。(3)客户程序使用命令行参数指定服务器地址(4)客户端输入的文本都发送给服务器(5)客户使用Ctrl+C键停止发送,关闭连接步骤2服务器程序开发以VisualC++Console控制台程序的形式编写服务器程序,服务器程序采用循环服务器的模式,不支持多线程操作。步骤3客户端程序开发以Visua

3、lC++Console控制台程序的形式编写客户程序,与服务器建立连接后开始接收标准输入的文本,并发送到服务器。步骤4编译和执行程序在VisualC++开发环境中包含必要的头文件和连接的WinSock库,分别进行客户程序和服务器程序的编译和连接,生成可执行文件。首先运行服务器程序,然后运行客户程序,测试程序运行结果是否符合要求。实验结果:首先服务器端开始工作,进入监听端口的状态,当客户端向他发送连接请求时,建立连接。服务器端:(等待连接)程序设置的服务器端的地址是:127.0.0.2,端口号是20。客户端:(服务器端)当客户端输入服务器的地址和端口以后就连接上了,当客户端发送数据时,服务器端能

4、看到发送的数据。发送数据以后服务器端与客户端的情况:(当客户端发送数据后服务器端的情况)实验总结:通过本次的实验让我对winsock的服务器和客户的概念有了一定的认识,特别的对于客户与服务器之间建立连接的过程有了进一步的认识,而且我也初步掌握了winsock编程的方法,这些都让我受益匪浅。在这次的实验中,我仅仅用到了winsock编程的一些简单功能,还有很多的其他的功能没有使用到,其它很多功能都需要我们课下研究,在以后的学习中不断去掌握。Client:#include#include#pragmacomment(lib,"ws2_32.lib")vo

5、idmain(){charip[15];intport;printf("地址:");scanf("%s",ip);printf("端口:");scanf("%d",&port);//初始化Winsock.WSADATAwsaData;intiResult=WSAStartup(MAKEWORD(2,2),&wsaData);if(iResult!=NO_ERROR)printf("ErroratWSAStartup()");//建立socketsocket.SOCKETclient;client=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);if(cli

6、ent==INVALID_SOCKET){printf("Erroratsocket():%ld",WSAGetLastError());WSACleanup();return;}//连接到服务器.sockaddr_inclientService;clientService.sin_family=AF_INET;clientService.sin_addr.s_addr=inet_addr(ip);clientService.sin_port=htons(port);if(connect(client,(SOCKADDR*)&clientService,sizeof(clientServ

7、ice))==SOCKET_ERROR){printf("Failedtoconnect.");WSACleanup();return;}//发送并接收数据.intbytesSent;intbytesRecv=SOCKET_ERROR;charsendbuf[32]="";while(1){printf("发送:");scanf("%s",sendbuf);bytesSent=send(client,se

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

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

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