通信原理实验报告.docx

通信原理实验报告.docx

ID:57659659

大小:170.72 KB

页数:14页

时间:2020-08-30

通信原理实验报告.docx_第1页
通信原理实验报告.docx_第2页
通信原理实验报告.docx_第3页
通信原理实验报告.docx_第4页
通信原理实验报告.docx_第5页
资源描述:

《通信原理实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、学生学号17实验课成绩学生实验报告书实验课程名称通信原理开课学院计算机科学与技术学院指导教师姓名刘维学生姓名陈鑫宇学生专业班级软件工程14012015——2016学年第2学期?实验课程名称:______通信原理_________实验项目名称采用Winsock在有线局域网上得点-点通信实验成绩实验者陈鑫宇专业班级软件1401组别同组者叶旺实验日期年月日一部分:实验预习报告(包括实验目得、意义,实验基本原理与方法,主要仪器设备及耗材,实验方案与技术路线等)实验目得与要求1.“采用Winsock在有线局域网上得点—点通信”2.熟悉VB6

2、、0得控件与界面设计,进而熟悉Winsock得有关控件及编程方法。3.在了解所用得两个工作站与服务器得IP地址后,采用VB6、0得控件与Winsock控件编写并调试在有线局域网上得点-点通信程序。4.具有点对点通信功能,任意客户端之间能够发送消息。编译语言与环境1、编程语言C/C++等均可;本次实验采用C++语言版本2、安装vs2015或更高版本得Windows系统pc机网络编程就是通过使用套接字来达到进程间通信目得得编程,Socket编程就是网络编程得主流工具,SocketAPI就是实现进程间通信得一种编程设施,也就是一种为进程间提供底层抽象得机制,提供了访问下层通信协议得大量系

3、统调用与相应得数据结构。具体流程如上图所示.1、建立连接1)服务程序调用socket创建一个新得套接字,并在传输层实体中分配表空间,返回一个文件描述符用于以后调用中使用该套接字;调用bind将一个地址赋予该套接字,使得远程客户程序能访问该服务程序;调用listen分配数据空间,以便存储多个用户得连接建立请求;调用accept将服务程序阻塞起来,等待接收客户程序发来得连接请求.当传输层实体接收到建立连接得TPDU时,新创建一个与原来得套接字相同属性得套接字并返回其文件描述符。服务程序创建一个子进程处理此次连接,然后继续等待发往原来套接字得连接请求。2)客户程序调用socket创建一个

4、新得套接字,并在传输层实体中分配表空间,返回一个文件描述符用于在以后得调用中使用该套接字;调用connect阻塞客户程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞;2、数据传输双方使用send与receive完成数据得全双工发送。3、释放连接每一方使用close原语单独释放连接。关键代码示例:服务器端://定义服务器端socketsockServer=socket(AF_INET,SOCK_STREAM,0);//设置服务器端socket?addrServer、sin_addr、S_un、S_addr=htonl(INADDR_ANY);//本机IP?addrSer

5、ver、sin_family=AF_INET;addrServer、sin_port=htons(6000);?//将服务器socket绑定在本地端口bind(sockServer,(SOCKADDR*)&addrServer,sizeof(SOCKADDR));//Listen监听端口?listen(sockServer,10);//10为等待连接数目printf(”服务器已启动:\n监听中、、、n”);?len=sizeof(SOCKADDR);?while(1)?{?//accept会阻塞进程,直到有客户端连接上来为止?sockClient=accept(sockServer

6、,(SOCKADDR*)&addrClient,&len);??//当客户端连接上来时,拼接字符串?sprintf(sendBuf,”欢迎ip:%s得用户连接,这里就是陈鑫宇得服务器\n”,inet_ntoa(addrClient、sin_addr));,欢迎使用?//向客户端发送字符串send(sockClient,sendBuf,//获取客户端返回得数据strlen(sendBuf)+1,0);?recv(sockClient,recvBuf,100,0);?//打印客户端返回得数据?printf(”%s”,recvBuf);//关闭socket?closesock

7、et(sockClient);}客户端://新建服务器端scoket?sockServer=socket(AF_INET,SOCK_STREAM,0);目标//定义要连接得服务端地址addrServer、sin_addr、S_un、S_addrIP(100、64、175、119就是本机地址)=inet_addr("10、139、14、180”);//addrServer、sin_family=AF_INET;?addrServer、sin_port=htons(6

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

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

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