Internet编程
网络编程
Internet编程,即网络编程,其最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的,而中间则是通过对数据包的组装、过滤、捕获以及分析等处理工作。
编程方式
Visual C++ 6.0支持的Internet编程有三种方式:
(1)WinInet,主要用来创建互联网客户端应用程序,使互联网一与任何应用融为一个整体;
(2)ISAPI,用于编写Web服务器端的应用接口,实现Web服务器一与客户端浏览器的数据交换以及基于Web的网络应用;
(3)Windows Socks 2,直接使用网络协议接口,需要对网络协议细节有一定的了解,编写一些网络服务器软件时需要使用。
编程简介
代码和语言
网络编程代码主要分为静态代码与动态代码两种,静态代码主要是服务器不解析直接发送给客户端的部分,用做布局效果,一般不用于数据库操作;而动态代码主要服务器需要解析的部分,用作数据库连接操作等。常见的编程语言有php、jsp、asp这几种语言。
模型
网络模型主要是用与描述网络的结构原理和工作原理,网络模型则分为OSI参考的模型与Internet网络模型两种,OSI网络模型与Internet模型最大区别就是OSI模型为七层网络结构,而Internet模型为四层结构,而网络协议用于指定层上进行的数据交换的规则,Internet的网络层协议的主要是以IP协议为主、DNS协议为辅,而Internet传输层协议则是TCP协议和UDP协议。
套接字
套接字主要的用于程序编码中操作,而套接字则是的应用程序与网络协议的接口,不同类型的程序的套接字是不同的,例如java socket主要是用于java应用程序与网络协议的接口,提供若干个类定义,java应用的利用继承网络协议的方式实现java程序的网络通信。
数据包
数据包也称为组装包,指在应用层数据或报文按照一定事先规定好的规则整合的数据集合,实际操作包括组包(打包),数据包传送,解包。数据包通过协议将数据进行组合起来,但是在实际的应用中,例如在C++编程中,通过定义一种新的数据类型的用于存储新的数据包结构,之后通过的电气物理传输将数据包传输出去,而接收端则需要对接收到的数据包进行的解析,以获取需要的信息以及数据。
套接字
Socket套接字主要是用于描述IP地址与端口,作为一个通信链的句柄,其目的在于实现不同计算机设备直接的网络通信。在主机上一般都是运行了多个软件,可以同时提供多种服务,所以每一种服务都会打开一个socket并绑定到端口上,使得不同的端口能够对应不同的服务内容。Socket连接过程中主要可以分为服务期监听、客户端请求以及连接确定等三个步骤:
(1)服务器监听:用于监听服务器是否处于等待连接状态进行监控的网络状态;
(2)客户端请求,向客户端的套接字发送连接请求;所以客户端套接字必须要描述它所要连接的服务器套接字,指出相应的服务器套接字地址与端口号后,向服务器端发送连接请求;
(3)连接确定:当服务器端收到了客户端套接字所发送的连接请求,为响应客户端套接字,需要建立一个新的线程并把服务器端套接字的地址与端口号发送给客户端,当客户端确定之后,便建立的连接。
WinInet
简介
国际互联网客户端应用是一种应用程序,它使用诸如HTTP、FTP等国际互联网协议,访问来自一个网络数据源 (服务器)的信息。微软的Win 32 Internet编程接口可以使应用程序与Internet融为一体。WININET.DLL中包含了这些新的功能,提供了HTTP、FTP和Gopher等协议支持,用户可以通过WinInet下载HTML页面,发送FTP请求,使用Gopher的菜单系统来访问Internet上的资源。
Visual C++的WinInet支持类库提供了一条高速简捷的途径来生成网络应用,这些类库将HTTP、FTP和Gopher等协议抽象成一个高层的应用编程接口。通过该类库使用WinInet函数的功能更为便利,因为它们为用户做了所有工作。
建立WinInet类应用程序的一般步骤
MFC提供了很多编写Internet客户端应用程序的类库和全局函数,其中有些类是从其它类派生出来的,例如CHttpFile从CInternetFile派生而来。图1为使用WinInet类库创建一个典型的HTTP客户端应用的步骤,图2为使用WinInet类库创建一个典型的FTP客户端应用的步骤。
参考资料
最新修订时间:2023-01-02 13:29
目录
概述
编程方式
编程简介
参考资料