ACE里的文件操作

ACE里的文件操作与平常的Win32里面的文件操作有所不同,这是因为ACE是为网络开发而设计的,里面普遍都遵循了Client/Server模式,这样在操作文件时,ACE把文件看做是一个Socket服务器,而进行文件操作的类(ACE_FILE_IO)被看做是一个Socket Client。

        有了上面的认识,使用ACE的文件操作就容易理解了:

        调用ACE_FILE_IO.send(...)其实就是进行写文件的操作;

        调用ACE_FILE_IO.recv(...)其实就是进行文件的读操作。

       ACE里面的文件操作类主要包括:ACE_IO_SAP、ACE_FILE、ACE_FILE_IO、ACE_FILE_Connector。

       ACE_FILE_Connector是一个用来产生ACE_FILE_IO的类工厂。

      ACE_FILE_IO继承于ACE_FILE,ACE_FILE继承于ACE_IO_SAP。

      ACE_FILE只能够对文件进行一些整体性的操作,如:关闭文件(close)、删除文件(remove/ulink)、获取文件属性(get_info)、设置文件大小(truncate)、定位或获取文件游标位置(seek/position/tell)、获取文件路径(get_local_addr/get_remote_addr)。

      ACE_FILE_IO则能够进行文件的读写操作,如:多个版本的send/recv, send_n/recv_n,  sendv/recvv,  sendv_n/recvv_n

      ACE_FILE_Connector实际是为了使ACE_FILE类族能够符合Connector/Acceptor设计模式而设计的,只是没有相应的Acceptor。

 

 

你可能感兴趣的:(ACE里的文件操作)