我正在编写一个文件导航器,它将客户端连接到服务器,并让用户列出服务器当前目录中的所有文件(服务器位置)。
假设该目录包含以下文件:
test.txt
Makefile
server.c
现在,我希望用户(在客户端)能够获得服务器端所有文件/ folfol的列表。
我已经编写了一段显示所有文件的WORKING代码,但仅限于SERVER端。它看起来如下:
void print_content(int socket_num) {
struct dirent *entry; //Entry
DIR *dir_stream; //Directory stream
dir_stream = opendir("./"); //Open current directory
if(dir_stream != NULL) {
while((entry = readdir(dir_stream))) {
printf("%s\n", entry->d_name); //Gets name
write(socket_num, entry->d_name, 1024); //WRITE?
}
(void) closedir(dir_stream);
}
else {
error("Problems with directory");
}
}
如上所述,这在SERVER端正确打印出来。
但是,有没有办法轻松地将这些字符串发送到CLIENT,而不是使用write()函数?
换句话说,是否有一个函数更像printf()而不是write(),它写入客户端?