在客户端显示shell的终端输出

时间:2015-01-21 01:13:29

标签: c shell sockets

我有2个文件Client Side&服务器端

我在套接字上从客户端向服务器发送一个字符串。我必须像在终端中那样执行此字符串。该命令的输出将显示在客户端。

服务器端代码:此循环在pthread_create

创建的每个线程上运行
  while((n=recv(sock,client_message,2000,0))>0)
  {

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

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

我该怎么做?

1 个答案:

答案 0 :(得分:0)

所以 - 你要完成两到三个不同的任务。

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

但是你需要获得它的输出。您可以在this question中了解这两点。

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

一旦数据到达客户端,您就可以随意使用它 - 将其打印在屏幕上,保存到文件中,然后命名。

了解这些事情,抓住机会,然后再回来继续问你是否需要它 - 祝你好运!