Listing 2: client.cpp
#include <stdio.h> #include <string.h> #include "nmpipe.h" int main(int argc, char **argv) { while (TRUE) { nmpipe_cConnector Connector("\\\\.\\PIPE\\MYPIPE.PIP"); if (Connector.InError()) { break; } const char *pWriteData = argv[1] != NULL ? argv[1] : "<no data>"; unsigned long cbWriteData = strlen(pWriteData) + 1; if (Connector.Write(&cbWriteData, sizeof(cbWriteData)) != nmpipeOK) { break; } if (Connector.Write(pWriteData, cbWriteData) != nmpipeOK) { break; } unsigned long cbData; if (Connector.Read(&cbData, sizeof(cbData), 5000) != nmpipeOK) { break; } char *pData = new char [cbData]; if (Connector.Read(pData, cbData, 5000) != nmpipeOK) { delete pData; break; } printf("%s\n", pData); delete pData; } return 0; } //End of File