| Thrift transport sample project | 
 | ------------------------------- | 
 |  | 
 | This cross-platform project has been built with Windows Visual Studio 10 and  | 
 | OSX 10.7.1's g++.  The client and server support socket and pipe transports  | 
 | through command-line switches. | 
 |  | 
 | Windows supports both named & anonymous pipes; *NIX gets only named  | 
 | 'pipes' at this time. | 
 |  | 
 | Windows-only at this time: | 
 | The client & server are double-ended. Both sides run a server and client to  | 
 | enable full duplex bidirectional event signaling. They are simple command  | 
 | line apps. The server runs until it's aborted (Ctl-C). The client connects to | 
 | the server, informs the server of its listening pipe/port, runs some more RPCs  | 
 | and exits. The server also makes RPC calls to the client to demonstrate  | 
 | bidirectional operation. | 
 |  | 
 | Prequisites: | 
 | Boost -- tested with Boost 1.47, other versions may work. | 
 | libthrift library -- build the library under "thrift/lib/cpp/" | 
 | thrift IDL compiler -- download from http://thrift.apache.org/download/  | 
 |    or build from "thrift/compiler/cpp".  The IDL compiler version should | 
 |    match the thrift source distribution's version. For instance, thrift-0.9.0 | 
 |    has a different directory structure than thrift-0.8.0 and the generated | 
 |    files are not compatible. | 
 |  | 
 | Note: Bulding the thrift IDL compiler and library are beyond the scope | 
 | of this article. Please refer to the Thrift documentation in the respective | 
 | directories and online. | 
 |  | 
 |  | 
 | Microsoft Windows with Visual Studio 10 | 
 | ---------------------------------------- | 
 | Copy the IDL compiler 'thrift.exe' to this project folder or to a location in the path. | 
 | Run thriftme.bat to generate the interface source from the thrift files. | 
 |  | 
 | Open transport-sample.sln and... | 
 | Adapt the Boost paths for the client and server projects. Right-click on each project, select | 
 | Properties, then: | 
 | Configuration Properties -> C/C++ -> General -> Additional Include Directories | 
 | Configuration Properties -> Linker -> General -> Additional Include Directories | 
 |  | 
 | The stock path assumes that Boost is located at the same level as the thrift repo root. | 
 |  | 
 | Run the following in separate command prompts from the Release or Debug  | 
 | build folder: | 
 |  server.exe -np test | 
 |  client.exe -np test | 
 |  | 
 |  | 
 | *NIX flavors | 
 | ------------ | 
 | Build the thrift cpp library. | 
 | Build the IDL compiler and copy it to this project folder. | 
 | Run thriftme.sh to generate the interface source from the thrift files. | 
 | Run 'make' | 
 |  | 
 | Run the following in separate shells: | 
 |  server/server -np /tmp/test | 
 |  client/client -np /tmp/test |