北京理工大学计算机网络实践WinSock点对点通信实验报告

上传人:夏** 文档编号:562531055 上传时间:2023-11-16 格式:DOC 页数:6 大小:55.50KB
返回 下载 相关 举报
北京理工大学计算机网络实践WinSock点对点通信实验报告_第1页
第1页 / 共6页
北京理工大学计算机网络实践WinSock点对点通信实验报告_第2页
第2页 / 共6页
北京理工大学计算机网络实践WinSock点对点通信实验报告_第3页
第3页 / 共6页
北京理工大学计算机网络实践WinSock点对点通信实验报告_第4页
第4页 / 共6页
北京理工大学计算机网络实践WinSock点对点通信实验报告_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《北京理工大学计算机网络实践WinSock点对点通信实验报告》由会员分享,可在线阅读,更多相关《北京理工大学计算机网络实践WinSock点对点通信实验报告(6页珍藏版)》请在金锄头文库上搜索。

1、实验一WinSock点对点通信程序一、实验目的:WinSock是Windows操作系统下的Socket编程接口,通过WinSock函数库可以实现基于TCP/IP协议的进程之间通信。 理解基于WinSock的客户/服务器概念掌握使用WinSock进行编程的方法 了解常见WinSock开发模式的使用二、实验内容:基于WinSock开发一个简单的客户/服务器文本传输程序,客户端能够发送由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。三、实验环境:程序运行环境为以太网,采用TCP/IP协议栈,网络操作系统为Windows。程序开发环境为vs2012版本。四、实验步骤:步骤1需求分析程序功能

2、为:(1)服务器可以接受任何客户的连接(2)服务器在同一时刻只能与一个客户通信,直到该客户退出才可以接收下一个客户(3)客户程序使用命令行参数指定服务器地址(4)客户端输入的文本都发送给服务器(5)客户使用Ctrl+C键停止发送,关闭连接步骤2服务器程序:定义全局变量:SOCKETServer;/服务器端套接字SOCKADDR_INClient_Addr;/请求用户的Ip地址SOCKETSock_Conn;/是否建立连接成功charBuff_Recv1024;/接收字符缓冲charBuff_Send1024;/发送字符缓冲区服务器端主程序及用到的相关函数:voidSLoad();/加载套接字库

3、voidSCreate();/创建套接字voidSBind();/绑定套接字到一个IP地址和一个端口上voidSListen();/将套接字设置为监听模式等待连接请求voidSAccept();/*请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字*/voidSClose();/关闭套接字voidSUnLoad();/卸载套接字库voidReceive();/接受请求voidSend();/服务器段发送字符串到客户端主函数:intmain(intargc,char*argv)/*循环查询*/while(1)SLoad();SCreate();SBind();SListen();SAc

4、cept();Receive();SClose();SUnLoad();步骤三、客户端程序:定义全局变量:SOCKETClient;/客户端端套接字SOCKADDR_INServer_Addr;/服务器用户的Ip地址WSADATAwsaData;charBuff_Recv1024;/接收字符缓冲charBuff_Send1024;/发送字符缓冲区客户端主程序及用到的相关函数:voidSLoad();/加载套接字库voidSCreate();/创建套接字voidSBind();/绑定套接字到一个IP地址和一个端口上voidSAccept();/*请求到来后,接受连接请求,返回一个新的对应于此次连

5、接的套接字*/voidSClose();/关闭套接字voidSUnLoad();/卸载套接字库voidReceive();/客户端接收字符串到客户端voidSend();/发送请求主函数:intmain(intargc,char*argv)SLoad();SCreate();SBind();SAccept();/*循环发送请求*/while(1)Send();SCloseO;SUnLoad();五、实验效果:服务器端接收请求:illCUsersVDFCtDocumentsWisuiaII:Studio2012PrMonitoicustomerconnections.-客户端输入服务器IP地址并

6、等待响应:客户端选择命令帮助1进行通信2退出服务器进行选择是否响应客户端开始通信:客户端:C:IJr&DKDo-cumenttVisuakStudia2O12ProjertsWLJazLtingfortheserver1srepl.y.BeintoCFal:fVoucanenterexittoquit.client=123seruer:456client:服务器端:六、实验总结:Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,我们可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。socket实

7、质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则不能建立联系并相互通信。在网络中,每一个socket用一个半相关描述:(协议,本地地址,本地端口)一个Server-Client模型的程序开发原理:服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。#

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号