《2022年使用LabVIEW学习TCP和HTTP参考 .pdf》由会员分享,可在线阅读,更多相关《2022年使用LabVIEW学习TCP和HTTP参考 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、文档改变世界分享改变世界使用 LabVIEW学习 TCP和 HTTP (c) WANG Fangyang, 2011-2012 This document is provided as is, and any warranty is rejected. Email: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 使用 LabVIEW学习 TCP和 HTTP TCP 和 HTTP 简介TCP 全称是传输控制协议(英语:Trans
2、mission Control Protocol ) 。HTTP 学习网络编程之前,需要了解一下互联网的的协议结构。这里给出一张四层示意模型,如图一所示。 高层协议建立在底层协议的基础之上,其中最为丰富的是顶层第四层,也就是应用层。 HTTP、FTP 等应用层协议是对一个或多个传输层协议的扩展。(注释: 关于国际标准组织的OSI 七层模型可以参考其他资料,原理相似, 不再赘述。)说明:本文假设读者已经对TCP 和 HTTP 有所了解,或者读者具有通过互联网查阅相关资料的能力。图一TCP/IP 四层参考模型LabVIEW的 TCP 和 HTTP LabVIEW的基础套装中提供了许多针对数据通信的
3、协议工具,其中就包括互联网传输层协议中的TCP 协议和 UDP 协议。在2010 版中新加入了HTTP 协议工具包,但是主要针对特定应用,对于互联网应用的扩展性还很薄弱。另外NI 还推出了LabVIEW的互联网工具包 NI LabVIEW Internet Toolkit,但是作者没有试用过,因此本文不能就此深入探讨。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 图二LabVIEW 的通信协议工具可能是由于LabVIEW 原本
4、是针对仪器应用这一缘故,因而如果采用LabVIEW 进行网络应用开发则可能出现一点困难。LabVIEW不像一些网络编程语言拥有很多现成的网络工具包或者SDK 。如果开发者能够同时开发应用的服务器端和客户端,或许能够通过自定义协议避免一些问题,如果是针对某些现有互联网应用单独开发服务器端程序或者客户端,则可能面临很多难题。下面主要介绍LabVIEW 自带的 TCP vi,进而结合HTTP,实现一个灵活的HTTP 客户端。例 1:利用 TCP 发送 HTTP 协议图三利用 TCP 发送 HTTP 协议程序框图例 1 实现了一个简单的功能,利用TCP 收发数据,不同之处在于这段代码模仿浏览器访问了一
5、个网站。步骤 1 中建立了TCP 连接,其中服务器端是一个网站地址,端口号指定为专用端口号80,因而这也是一个HTTP 连接。步骤 2 利用 TCP 发送数据向网站服务器发送了一个HTTP 请求(HTTP Request), 其中两行文本是依据HTTP 请求头的格式书写的。步骤 3 是 TCP 接收数据过程,由于服务器返回的数据长度位置,因此采用错误来中断名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 循环,但这并不影响数据的完
6、整性。步骤 4 中拼接了TCP 接收的数据形成了HTTP 响应(HTTP Response) ,并断开了连接。下面对 HTTP 协议进行简要的介绍。GET / HTTP/1.1 是请求行( Request Line ) ,其中GET 指明了 HTTP 传输方式,另外常见的方式还有POST,此处区分大小写。反斜杠/部分表示的是访问服务器的路径(这里是默认路径)。HTTP/1.1 则声明了HTTP 协议的版本。最后是两行空白,表示HTTP 请求头结束。一般说来,HTTP 请求包括请求头(Request Head)和请求主体 (Request Body),本例中请求主体为空。另外需要指出的,例子中的
7、的两行文本是 HTTP 请求头必须的两个部分,一般的浏览器通常还会向服务器传递其他参数,比如浏览器类型、编码方式等等。更多HTTP 协议内容,请参考其它资料。图四 HTTP Response 图四是图三执行后获得的HTTP 相应(截图只显示了起始后的部分文本),和 HTTP 请求类似, HTTP 相应也包括响应头和响应主体。图四中前9 行即为相应头的内容。第一行表明服务器使用的HTTP 协议版本( 1.1)和响应状态( 200 OK ) ,服务器正常相应。第二行表明响应正文的数据长度。其他各项含义一次类推。HTTP 响应主体只显示了一部分,其实是一段 HTML 代码。其中存在一些乱码,原因是LabVIEW 采用的是ANSI 编码格式( ASCII码) ,而 HTTP 响应采用的是Unicode 编码。-to be continued- 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -