2013-01-09 128 views
0

我正在編寫一個連接到遠程服務器的c#應用程序來執行任務。 我已經能夠將文件複製到客戶端,並且現在我想要做的是,在完成所有文件的複製後,通過我的套接字發送「命令信號」​​,並讓客戶端運行它。通過c#套接字運行命令

只爲例子,這是我希望做的:

string cmD = @"\\192.168.0.1\\cmd"; 
byte[] clientData = new byte[8000]; 
clientData = System.Text.Encoding.UTF8.GetBytes(cmD); 
clientSock.Send(clientData); 

讓我們假設clientSock是連接到我的服務器的靜態插槽。 在這種情況下,我想在客戶端運行「cmd」。

任何想法?

+0

當然,將代碼添加到將運行該命令的客戶端。 (nb:你應該使用psexec來代替Sysinternals,以安全的方式做到這一點)。 – user7116

回答

-1

最後,你還沒有問任何問題。你能否詳細說明你到底想問什麼?

無論如何,我想你正試圖在遠程服務器上運行一個命令,所以你必須在你的C#服務器上實現它。要運行命令,可以使用Process::Start()方法。祝你好運!

乾杯,

+0

我回復告訴他使用Process :: Start()。 –

+0

好的,事情是我沒有客戶端應用程序。我正在連接到遠程服務器,沒有任何遠程計算機的參與。所以,我沒有在客戶端的代碼..現在,如果我寫入Process :: Start()併發送,例如,「CMD」,它會運行命令行在遠程?再次感謝,Idan。 – Idanis

+0

當然不是,你不能決定在遠程計算機上運行什麼程序,而不是在那裏執行解釋命令並執行它的應用程序。 –