我必须创建一个从客户机接收目录参数的迭代服务器。然后它必须对每个参数运行ls -l
,并将数据写回客户端。
我的所有参数都是从客户机设置为在服务器上运行execvpe()
的,但我需要弄清楚如何将execvpe()
的输出传递到字符串char buf[BUFSIZ]
中。然后我需要使用write(new_socket, buf, BUFSIZ);
将该字符串写入客户机。
我也希望输出不出现在服务器端。从现在起,ls -l (clients arguments)
(从客户端)输出到我的服务器。
有办法吗?
最佳答案
我解决了这个问题。我在做dup2(new_socket, 0); dup2(new_socket, 1); dup2(new_socket, 2);
然后打电话给execvpe()
。
我刚刚在我的客户身上做了这件事(如果其他人读到的话):
size_t check; while((check = read(sockfd,buf, BUFSIZ)) > 0) { write(1,buf,check); }
–亚历克斯