假设:
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