每 Internet 客户端应用程序的基础是 Internet 会话。 MFC 实现 Internet 会话作为类对象。CInternetSession 使用此类,您可以创建一个 Internet 会话或多个同时会话。
若要与服务器通信,您需要 CInternetConnection 对象以及 CInternetSession。 使用 CInternetSession::GetFtpConnectionCInternetSession::GetHttpConnectionCInternetSession::GetGopherConnection、或,可以创建 CInternetConnection。 这些调用中的每一特定于类型协议。 这些调用不打开服务器上的文件读取或写入的。 如果要读取或写入数据,您必须打开文件,在一个单独步骤。
对于多数 Internet 会话,CInternetSession 对象的工作使与 CInternetFile 对象:
对于 Internet 会话,必须创建的实例。CInternetSession
如果 Internet 会话读取或写入数据,必须创建 CInternetFile 实例 (或其子类、CHttpFile 或 CGopherFile)。 易于读取数据的方法将调用。CInternetSession::OpenURL 此函数分析本地资源定位器您提供的 URL 打开 (URL),与服务器的连接以指定的,并且返回一只读的 CInternetFile 对象。 CInternetSession::OpenURL 并非特定于一个协议类型 - 任何 FTP、HTTP 或地鼠 URL 的同一调用工作。 CInternetSession::OpenURL 甚至包含本地文件 (返回 CStdioFile 而非 CInternetFile)。
如果 Internet 会话未读取或不写入数据,但是,该 FTP 目录执行其他任务,如删除文件,您可能不需要创建 CInternetFile的实例。
可以使用下列两种方法创建 CInternetFile 对象:
如果使用 CInternetSession::OpenURL 生成服务器连接,调用 OpenURL 返回 CStdioFile。
如果使用 CInternetSession::GetFtpConnection、GetGopherConnection或 GetHttpConnection 生成服务器连接,必须调用单个 CFtpConnection::OpenFile、CGopherConnection::OpenFile或 CHttpConnection::OpenRequest, 返回,CInternetFile,CGopherFile或 CHttpFile。
在 Internet 实现客户端应用程序的步骤更改取决于您是创建基于 OpenURL 的一般 Internet 客户或使用某一 GetConnection 函数的协议特定的客户。