实验指导书3局域网广播.doc_第1页
实验指导书3局域网广播.doc_第2页
实验指导书3局域网广播.doc_第3页
实验指导书3局域网广播.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验指导书3局域网广播 实验指导书3 一、实验名称局域网广播 二、实验内容局域网广播是UDP的应用之一。 UDP协议与TCP协议同样是基于IP协议的,但与TCP不同的是它不需要协议层提供质量保证,因此,UDP在很多需要实时数据传输的情况下比较常用。 此外,由于不提供质量保证,服务器没有必要一直处于等待状态,这样就大大减轻了服务器的负担。 本实验的内容如下1编制一个程序对所在的局域网的计算机进行广播;2当消息发出后该网段的计算机全部都能收到该消息;3熟悉Windows API函数的调用。 三、实验要求1能熟练地应用学过的知识,完成程序的编写;2掌握UDP协议的具体应用;3写出详细的实验报告和体会。 四、实验步骤局域网广播实验的一般步骤如下 1、学习局域网广播的相关知识,准备开发广播程序的相关工具; 2、编写广播发送端和广播接收端程序; 3、利用第二步所编写的程序在某一网段内进行广播测试。 实验的重点在于第二步广播发送端和接收端程序的实现,下面以Visual C+6.0代码为例介绍使用Winsock实现广播的一般步骤。 1、发送广播端实现广播发送的一般步骤如下 (1)创建一个数据报套接字SOCK_DGRAM。 在Winsock套接字中,只有数据报套接字才支持广播。 MFC示例代码如下/初始化套接字BOOL optval=TRUE;SOCKADDR_IN in;/创建if(m_socket=socket(AF_INET,SOCK_DGRAM,0)=INV ALID_SOCKET)TRACE(Failed tocreate socket);return FALSE;1 (2)绑定数据报套接字于指定的地址和端口。 MFC示例代码如下in.sin_family=AF_INET;in.sin_addr.S_un.S_addr=INADDR_ANY;in.sin_port=htons(POR T);/绑定if(bind(m_socket,(LPSOCKADDR)&in,sizeof(in)=SOCKET_ERROR)TRACE(bind failed);closesocket(m_socket);return FALSE; (3)通过建设套接字选项(setsockopt()函数)设置数据报套接字的广播属性。 MFC示例代码如下/设置套接字if(setsockopt(m_socket,SOL_SOCKET,SO_BROADCAST,(char*)&optval,sizeof(optval)=SOCKET_ERROR)TRACE(set socketopt failed);closesocket(m_socket);return FALSE; (4)通过sendto()函数发送广播消息。 MFC示例代码如下SOCKADDR_IN sinTo;/destination sinTo.sin_family=AF_INET;sinTo.sin_addr.S_un.S_addr=INADDR_BROADCAST;sinTo.sin_port=htons(PORT);/发送广播if(sendto(m_socket,(char*)(LPSTR)(LPCTSTR)szContent,AfxMessageBox(_T(广播失败);m_cBContent.SetReadOnly(FALSE);m_cBContent.SetFocus();return;2szContent.GetLength(),0,(LPSOCKADDR)&sinTo,sizeof(sinTo)=SOCKET_ERROR) 2、广播接收端使用recvfrom()函数来接收广播。 MFC示例代码如下SOCKADDR_IN sinFrom;int fromlen=sizeof(SOCKADDR);int ret;TCHAR caBufferBUFSIZE=_T();CString str;while (1)for(int i=0;im_socket,(char*)&caBuffer,BUFSIZE,0,if(ret=SOCKET_ERROR)以上是实现局域网广播程序的主要步骤和核心代码。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论