FTP客户端编程中
用户可以通过一些类或者函数
获得服务器文件目录实现上传 下载文件等功能
是实际编程中
将CSocketFile对象和CSocket对象直接联系起来可以用CSocketFile类的
构造函数来完成
CSocketFile类构造函数原型
CSocketFile::CSocketFile(CSockt* pSocket,BOOL bArchiveCompatible = TRUE);
参数pSocket是一个CSocket对象
bArchiveCompatible指示该文件对象是否与一个CArchive对象一起使用
默认为true
构造函数有两种调用方式
mSocket *m_clientsocket=new CSocket;//创建套接字
CSocketFile *m_sockfile=new CSocketFile(&m_clientsocket);
//创建一个与m_clientsocket关联的文件指针对象
这个通过new关键字调用CSocketFile类的构造函数创建一个指针对象的
第二种调用方式如下
CSocket *m_clientsocket=new CSocket; //创建套接字
CSocketFile m_sockfile(&m_clientsocket);//创建一个与m_clientsocket关联的文件对象
这两种调用方式都需要在实例化对象m_sockfile之后
在与CArchive对象相关联
并由CArchive对象指定其属性
CArchive ar(&m_sockfile,CArchive::load | CArchive::store);
//创建与m_sockfile相关联的串行化对象并指定属性
... //省略部分代码
ar.close(); //关闭串行化对象
这里使用完串行化对象ar以后
需要使用函数CArchive::close()关闭串行化对象确保数据 及时存储