2015-01-21 139 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()。你可以實現一些小型協議,告訴對方有多少字節的期望,一些錯誤檢測/糾正,如果你想,等等。

一旦數據到達客戶端,那麼你可以做任何你想要的 - 將其打印在屏幕上,保存到文件中,然後將其命名。

閱讀關於此事的信息,抓住機會,回過頭來繼續詢問是否需要它 - 祝你好運!