欢迎来到天天文库
浏览记录
ID:46924864
大小:1.13 MB
页数:65页
时间:2019-11-30
《网络编程技术(西电课件)第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1第6章开发Internet应用程序Internet应用程序的开发通常包括Internet服务端和客户端的应用程序,Microsoft提供了大量的API函数来支持这两种程序,客户端应用程序主要通过Internet协议(如Gopher,FTP,HTTP等)来从网络服务器上获取数据,提供访问Internet的功能,服务器端应用程序则用来支持HTTP、FTP或Gopher等类型的服务你了解FTP协议吗?2你了解FTP协议吗?3FTP客户端=TCP客户端+固定文字响应规范FTP协议4服务器回显客户端TCP连接x.x.x.x21根据回显输入C
2、onnectingtox.x.x.x,Port21Connected.Waitingforresponse.220MicrosoftFTPServiceUSERuser1331Passwordrequiredforuser1.PASSxxxxxx230Useruser1loggedin.LIST150OpeningASCIImodedataconnectionfor/bin/ls.226Transfercomplete.Transferdone:125bytesin0.016secs(7.81k/sec)GETfile.txt这是
3、第五章利用CAsyncSocket类实现的TCP客户端按照FTP协议要求,给FTP服务器发送用户名106.1Internet应用程序开发的几种类型使用WinInet类开发Internet应用程序:WinInet类支持HTTP、FTP和Gopher等标准的协议使用WindowsSocket开发Internet应用程序:Winsock标准定义了一个DLL接口来连接Internet,MFC使用CAsyncSocket和CSocket类对接口进行了封装。使用消息收发API(MAPI:MessageAPI)开发Internet应用程序:使用M
4、API可以很方便的向其他应用程序发送电子邮件、语音邮件或传真等功能116.2WinInet开发简介用WinInet开发程序的优点隐藏协议细节,简化编程:可不必深入了解协议,而使用WinSocket编程,需理解网络通信及协议基本原理熟悉的编程接口:WinInetAPI函数和很多WinAPI函数很相似,这对有编程经验的程序员来说是很方便的。稳定性好,不要求程序与底层直接联系:WinInet隐藏了协议的具体细节,使得程序不必直接使用各种协议支持数据缓存:WinInet函数为所有的协议提供缓存能力,程序员只需关心数据而不用去管理数据缓存支持
5、多线程:由于WinInet函数在内部处理多线程的并发问题,因此WinInet函数支持多线程,在多线程中可以调用各种WinInet函数而不用担心发生问题或死锁126.3WinInet类介绍WinInet类是一个总称,目前的版本中分为四组CInternetSession类CInternetConnection(连接类)CFileFind类(Internet文件查找类)CInternetFile类和CGopherLocator类136.3.1CInternetSession类CInternetSession类直接继承自CObject类,该
6、类用来建立与某个Internet服务器的会话。还可以向代理服务器描述连接,如果应用程序所使用的Internet连接必须保持一段时间,则可以在CWinApp类中创建相应的CInternetSession成员14QueryOption提供一个可能的错误检测判断SetOption设置Internet会话的选项OpenURL设置URL,并对其进行分析GetFtpConnection打开一个FTP会话并进行连接GetHttpConnection打开HTTP服务器并进行连接GetGopherConnection打开Gopher服务器并进行连接E
7、nableStatusCallback建立异步操作的状态回调ServiceTypeFromHandle通过Internet句柄返回服务器类型GetContext获取Internet和应用程序会话句柄Close关闭Internet连接CInternetSession类成员函数156.3.2CInternetConnection类包括CInternetConnection类及其派生类CHttpConnection、CFtpConnection和CGopherConnection类,这些类帮助用户管理与Internet服务器的连接,同时还
8、提供一些函数完成和响应服务器的通信16CInternetConnection:用于管理与Internet服务器的连接CFtpConnection:用于管理与FTP服务器的连接,可以对服务器上的文件和目录进行直接操作CGopherCon
此文档下载收益归作者所有