假設:
server talks with client
和
client spawns child
下面是從MSDN一個例子不幸的是創建一個Child Process with Redirected IO
,你必須使用管道將子程序中的IO傳給客戶端。沒有ifs,ands或buts關於它。
然後你可以使用類似下面來獲取信息到服務器:
客戶端通訊科環:
while (/* files are open */) {
DWORD dwRead;
CHAR chBuf[1024]; memset(chBuf, 0, 1024); /* always initialize your memory! */
BOOL bSuccess = FALSE;
/* read data from child pipe */
ReadFromFile(g_hSChildStd_IN_Rd, chBuf, 1024, &dwRead, NULL);
/* send data via windows sockets to the remote server connection
represented by serverSocketHandle */
send(serverSocketHandle, chBuf, dwRead, 0);
}
你的客戶,實際上成爲STDOUT/ERR管之間的翻譯和一個TCP套接字。
這將是非常具體的實現。我將假設windows是唯一的平臺和操作系統要求。您願意使用哪種編譯器,IDE和庫? – AJG85 2011-03-18 16:22:47
我正在使用visual studio。我想使用standart庫和winapi,作爲我更喜歡socket2的套接字。但也可以使用cygwin庫。 – 2011-03-18 16:25:41
哪部分你有問題 - 綁定+監聽套接字,連接套接字或重定向IO? – Rup 2011-03-18 16:27:02