在远程控制中文件管理是很重要的,下面简单讨论并实现目录传输。
首先要考虑目录传输方式,速度,效率,一个好的设计应该是这样
首先把用户要枚举的目录搜索出来,并整合成一个大的字符串,比如用户搜索了C盘那么应该把所有目录整理成一个大串
并一次通过SOCKET发送到CLIENT然后再分离,分解,分割。并在相应的LIST或者TREE上显示
我曾通过VECTOR向量方式来实现目录管理,但是VECTOR中每一项的数据并不是连续的内存,所以
只能一个文件一个文件名称的发送,这样每个文件都要发送一次,网络的包头开销就会变大。所以改用以上的简单方式
清晰明了,速度快捷,下面贴上,分割路径 的实现代码
int _tmain(int argc, _TCHAR* argv[]) { char s[] = "f:\\hello?d:\\windows\\?c:\\ldtdll.dll?c:\\win?d:\\lengfeng?f:\\dd"; const char *d = "?"; char *p; p = strtok(s,d); while(p!=NULL) { printf("%s\n",p); p=strtok(NULL,d); } getchar(); return 0; mythread(0); return 0; }