int main() { try { Sender sndr("8080","127.0.0.1" , "file", "hey.txt"); std::thread SendThread(&StartSenderThread::run, StartSenderThread(), sndr,ip, DestPort); std::cout << " Sender Port : " << ListPort; SendThread.join(); } catch (std::exception& ex) { std::cout << "\n\n " << ex.what() << "\n\n"; } std::cout << "\n\n"; return 0; }
void main() { sout << locker << "\n Testing Socket Communicator Client" << "\n ========================================\n" << unlocker; //Application::EnableVisualStyles(); //Application::SetCompatibleTextRenderingDefault(false); //// Create the main window and run it // Application::Run(gcnew SocketComm::DemoForm()); try { EndPoint rep("127.0.0.1",2048); EndPoint sep("127.0.0.1",2049); // MsgSender_Proc is your sender's server message handling // If you don't have sender server file handling don't // attach a file handler Communicator sndr(sep); sndr.setFileSource(".\\FilePostTest\\Sender\\"); MsgHandler<MsgSender_Proc> smsgHandler; sndr.attachMsgHandler(&smsgHandler); sndr.listen(); // The MsgReceiver_Proc and FileReceiver_Proc // should connect when they have a reply, so // don't connect the receiver - that's done // by your server code (see above) if(!sndr.connect("127.0.0.1",2048)) { sout << "\n failed to connect sndr\n\n"; return; } sout<<" start posting\n"; // sndr.postMessage("first message"); // sndr.postMessage("second message"); // sndr.postMessage("third and longer message"); // sndr.postMessage("fourth and still longer and most verbose message"); // sndr.postFile("test.txt"); // sndr.postFile("Project #4 Analysis.docx"); // sndr.postFile("FormWithCppThread.zip"); //sndr.postFile("notepad.exe"); //sndr.postMessage("quit"); MessageHandler mh; Message msg = mh.MessageForSending(MsgType::Dependency); sndr.postMessage(msg.ToString()); _getche(); sout << locker << "\n Socket connection count = " << sndr.getSocketConnectionCount() << unlocker; sout << "\n\n press key to exit: "; sout.flush(); sout << "\n\n"; // rcvr.disconnect(); sndr.disconnect(); } catch(std::exception& ex) { sout << locker << "\n " << ex.what() << "\n\n" << unlocker; } }