2015-01-21 104 views
0

外壳的终端输出我有2个文件客户端&服务器端显示在客户端

我发送一个字符串在插座从客户端到服务器。我必须像在终端中那样执行这个字符串。该命令的输出将显示在客户端。

服务器端代码:这个循环将在pthread_create创建的每个线程上运行

while((n=recv(sock,client_message,2000,0))>0) 
    { 

    send(sock,server_out,n,0); 
    } 

我需要运行我在client_message收到作为终端命令字符串,并获取命令的输出,并通过发回server_out字符串缓冲区。

我该如何解决这个问题?

回答

0

所以 - 你有两个或三个不同的任务来完成。

第一个是运行您在服务器上收到的命令行。为此,您可以开始阅读system()函数。使用非常简单。

但是你需要得到它的输出。你可以在this question中看到这两点。

最后,将该数据发送回服务器 - 一旦你有输出流,它只是通过套接字send()。你可以实现一些小型协议,告诉对方有多少字节的期望,一些错误检测/纠正,如果你想,等等。

一旦数据到达客户端,那么你可以做任何你想要的 - 将其打印在屏幕上,保存到文件中,然后将其命名。

阅读关于此事的信息,抓住机会,回过头来继续询问是否需要它 - 祝你好运!