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

Displaying terminal output of shell on client

我有 2 个文件客户端和服务器端

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

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

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

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

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

我该怎么做?

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

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

但是你需要得到它的输出。您可以在 this question.

中了解这两点

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

一旦数据到达客户端,您就可以随心所欲地使用它 - 将它打印在屏幕上,保存到一个文件,您可以给它命名。

阅读有关此内容的信息,抓住机会,然后回来继续询问您是否需要它 - 祝您好运!