int main() { int ret = 0; try { string srcAddr = "127.0.0.1", srcPort ="8484" , targetAddr = "127.0.0.1", targetPort ="8181" , targetCommunicator = "file_processor"; Message msg, msgEcho; Header hdr, hdrEcho; hdr.setCmd("send_file"); hdr.setAddr(targetAddr, targetPort);//IP address hdr.setAttrib("filename","D:/proj3/SocketDemo2/Test/sender/foobar.txt");//name value pairs hdr.setAttrib("msg", "File transfer"); hdr.setSrcAddr(srcAddr, srcPort); hdr.setContentLength(1024); hdr.setTargetCommunicator("FileHandlerCommunicator"); msg.setHdr(hdr); hdrEcho.setCmd("echo_msg"); hdrEcho.setAttrib("msg", "Hi there!"); hdrEcho.setAddr(targetAddr, targetPort);//IP address hdrEcho.setSrcAddr(srcAddr, srcPort); hdrEcho.setTargetCommunicator("EchoCommunicator"); msgEcho.setHdr(hdrEcho); Sender sndr1; int clientPort = 8484; Receiver rcvr; rcvr.connect(clientPort); EchoCommunicator echo; echo.setName(CLientEchoCommunicator); rcvr.registerComm(&echo); echo.start(); sndr1.start(); sndr1.postMessage(msgEcho); sndr1.e(msg); echo.wait(); rcvr.wait(); sndr1.wait(); sout << "That's all folks!"; } catch(std::exception& ex) { sout << "\n\n " << ex.what(); ret = 1; } catch(...) { sout << "\n\n something bad happend to a sender"; ret = 1; } std::cout << "\n\n That's all Folks!\n\n"; return ret; }
int main() { int ret = 0; try { Receiver rcvr; rcvr.connect(8181); EchoCommunicator echo; echo.setName("EchoCommunicator"); rcvr.registerComm(&echo); echo.start(); FileProcessingCommunicator fileComm; fileComm.setName("FileHandlerCommunicator"); rcvr.registerComm(&fileComm); fileComm.start(); string targetAddr = "127.0.0.1", targetPort = "8080"; Sender sender; sender.setName("SenderCommunicator"); rcvr.registerComm(&sender); sender.start(); StringSearchCommunicator stringSearchComm; stringSearchComm.setName("StringSearchCommunicator"); rcvr.registerComm(&stringSearchComm); stringSearchComm.start(); echo.wait(); fileComm.wait(); echo.stop(); fileComm.stop(); } catch (std::exception& ex) { std::cout << "\n\n " << ex.what(); ret = 1; } catch (...) { sout << "\n something bad happened"; ret = 1; } sout << "\n\n"; return ret; }