- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络编程实验指书
《 网 络 编 程 》
实 验 指 导 书
梁 峰
微机综合实验室
随着计算机和Internet网络的发展,原先在测量、控制、消费等领域不同设备/仪器之间,大多采用RS232/485或现场总线组建网络等进行数据传输的情况正在改变,特别在要求数据传输速度和可靠性方面的应用产品,转向基于Internet网络的远程传输和应用。网络编程大多基于TCP/IP协议,实现方法有多种,复杂但编程适应性广的方法是调用底层的Winsock? API函数或MFC基本类等;简单方便的方法可以采用如Winsock控件。在网络编程中最常用的方案便是客户机/服务器模型,客户应用程序向服务器程序请求服务;另外一种模式是点对点通信,通信双方对等,既有客户机功能又有服务器的功能,编程简单,适合传输数据流少的场合,而且采用简单的UDP协议,易于用微控制器等嵌入式系统实现,在测量控制方面有许多应用。
本实验指导书将介绍一些网络编程和Winsock控件知识,用VC++实现网络间的通信。本实验共有16学时,分为8次实验进行。
实验一 网络编程相关知识的介绍及学习
一.实验目的:了解TCP/IP体系结构,Winsock编程套接字原理,Windows Sockets网络程序设计核心原理
二.实验任务:学习网络编程的原理,熟悉VC++6.0,MFC类的生成向导等工具的使用
三.实验内容
了解TCP/IP体系结构
TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中实现。因此用户一般不涉及。编程时,编程界面有两种形式:(1)是由内核心直接提供的系统调用;(2)使用以库函数方式提供的各种函数。前者为核内实现,后者为核外实现。用户服务要通过核外的应用程序才能实现,所以要使用套接字(socket)来实现。 下图是TCP/IP协议核心与应用程序关系图。
套接字Sockets及Winsock编程原理
Windows Sockets接口是TCP/IP网络最为通用API(应用程序接口)Windows网络编程的事实上的标准。它以Unix中流行的Socket接口为范例定义了一套Microsoft Windows下网络编程接口函数库。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。
SOCKET实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有SOCKET接口的计算机通信。应用程序在网络上传输,接收的信息都通过这个SOCKET接口来实现。在应用开发中就像使用文件句柄一样,可以对SOCKET句柄进行读,写操作VC++对原来的WindowsSockets库函数进行了一系列封装,继而产生了CAsynSocket、CSocket、CSocketFile等类,它们封装着有关Socket的各种功能VC中进行WINSOCK的API编程开发,需要使用到下面三个文件:WINSOCK.H:这是WINSOCK API的头文件。WSOCK32.LIB: WINSOCK API连接库文件。在使用中,一点要把它作为项目的非缺省的连接库包含到项目文件中去。WINSOCK.DLL:WINSOCK的动态连接库SOCKET接口(面向连接或无连接)进行网络通信时,必须按下面简单的四步进行处理:程序必须建立一个 SOCKET。程序必须按要求配置此SOCKET。也就是说,程序要么将此SOCKET连接到远方的主机上,要么给此SOCKET指定一个本地协议端口。程序必须按要求通过此SOCKET发送和接收数据。程序必须关闭此SOCKET。
WINSOCK API主要函数简介
(2)WSACleanup():结束 Windows Sockets DLL 的使用。
说明: 当应用程序不再需要使用 Windows Sockets DLL时,须调用此函数来注销使用,以便释放其占用的资源。
(3)socket():建立Socket。
说明: 此函数用来建立一 Socket 描述字,并为此 Socket 建立其所使用的资源。
(4)closesocket():关闭某一Socket。
说明: 此一函数是用来关闭某一 Socket。
(5) bind():将一本地地址与一个SOCKET描述字连接在一起。
说明:此函数在服务程序上使用,是调用监听函数listen()必须要调用的函数。
(6)listen():设定 Socket 为监听状态,准备被连接。
说明: 此函数在服务程序上使用,来设定 Socket 进入监听状态,并设定最多可有多少个在未真正完成连接前的客户端的连接要求。(目前最大值限制为 5, 最
小值为1)
您可能关注的文档
- 网络安全(黑客防)_木马攻击.ppt
- 网络工程专业课体系介绍与分析.ppt
- 网络工程操作系实验指导书.doc
- 网络应用程序设 课程内容介绍.ppt
- 网络技术应用试典型例题-1.pptx
- 网络操作系统简与安装.ppt
- 网络操作系统管第五部分(DHCP系统管理).ppt
- 网络教育 财务计满分作业4.doc
- 网络时代报纸如运营.ppt
- 网络机房在线搬全记录.doc
- 甘肃省白银市会宁县第一中学2025届高三3月份第一次模拟考试化学试卷含解析.doc
- 2025届吉林市第一中学高考考前模拟生物试题含解析.doc
- 四川省三台县芦溪中学2025届高三下第一次测试生物试题含解析.doc
- 2025届江苏省启东市吕四中学高三适应性调研考试历史试题含解析.doc
- 浙江省宁波市十校2025届高三二诊模拟考试历史试卷含解析.doc
- 甘肃省甘南2025届高考生物必刷试卷含解析.doc
- 河北省石家庄市一中、唐山一中等“五个一”名校2025届高考历史四模试卷含解析.doc
- 江西省南昌市进贤一中2025届高考生物考前最后一卷预测卷含解析.doc
- 甘肃省白银市会宁县第四中学2025届高三第二次模拟考试历史试卷含解析.doc
- 宁夏银川市宁夏大学附属中学2025届高考化学押题试卷含解析.doc
文档评论(0)