diff --git a/NATRouter.cpp b/NATRouter.cpp index 0b094aa..a069661 100644 --- a/NATRouter.cpp +++ b/NATRouter.cpp @@ -155,7 +155,7 @@ void NATRouter::sNAT(Packet *packet) natItem = &this->natTable[port]; natItem->setIp(packet->getSrcIp()); natItem->setPort(packet->getSrcPort()); - natItem->setTimeout(/*5*/10); + natItem->setTimeout(/*5*/15); stringstream ss; ss << "SNAT " << packet->getSrcIp() << ":" << packet->getSrcPort() << " --> " << this->getWanIp() << ":" << port; diff --git a/P2PServer.cpp b/P2PServer.cpp index e882ef3..2291fef 100644 --- a/P2PServer.cpp +++ b/P2PServer.cpp @@ -41,7 +41,7 @@ void P2PServer::onRecv() { ss << "onRecv() Received \"" << p.getMsg() << "\" from " << p.getSrcIp() << ":" << p.getSrcPort(); this->print(ss.str()); - sleep(1); + sleep(2); if (p.getMsg() == "getRemoteIPPort") { @@ -69,7 +69,7 @@ void P2PServer::onRecv() ss << "Sending \"" << pp.getMsg() << "\" to " << pp.getDstIp() << ":" << pp.getDstPort(); this->print(ss.str()); this->send(pp); - sleep(1); + sleep(3); } } else diff --git a/Simulation.cpp b/Simulation.cpp index 63a93ed..a16ac9e 100644 --- a/Simulation.cpp +++ b/Simulation.cpp @@ -174,15 +174,15 @@ void Simulation::timer() void Simulation::p2pSimulation() { this->print("Creating P2P peers"); - Peer peer1("Peer 1", "192.168.1.2", "255.255.255.0", "192.168.1.1"); - peer1.setSender(true); - peer1.setSim(this); - peer1.setLogParams(0, GREEN, "\t\t"); - Peer peer2("Peer 2", "10.0.0.2", "255.255.255.0", "10.0.0.1"); - peer2.setSim(this); - peer2.setLogParams(4, CYAN, "\t\t"); - peer1.print("IP 192.168.1.2/24, Gateway: 192.168.1.1"); - peer2.print("IP 10.0.0.2/24, Gateway: 10.0.0.1"); + Peer seed("Seed", "192.168.1.2", "255.255.255.0", "192.168.1.1"); + seed.setSender(true); + seed.setSim(this); + seed.setLogParams(0, GREEN, "\t\t"); + Peer peer("Peer", "10.0.0.2", "255.255.255.0", "10.0.0.1"); + peer.setSim(this); + peer.setLogParams(4, CYAN, "\t\t"); + seed.print("IP 192.168.1.2/24, Gateway: 192.168.1.1"); + peer.print("IP 10.0.0.2/24, Gateway: 10.0.0.1"); sleep(1); this->print("Creating NAT devices"); @@ -210,35 +210,35 @@ void Simulation::p2pSimulation() server.print("IP 80.80.90.91/32"); sleep(1); - this->print("Plugging Peer1 <---> Router 1"); - r1.connectNode(&peer1); - sleep(1); - this->print("Plugging Peer2 <---> Router 2"); - r2.connectNode(&peer2); - sleep(1); + this->print("Plugging Seed <---> Router 1"); + r1.connectNode(&seed); + usleep(600000); + this->print("Plugging Peer <---> Router 2"); + r2.connectNode(&peer); + usleep(600000); this->print("Plugging Router 1 <---> Router 2"); r1.connectNode(&r2, true); - sleep(1); + usleep(600000); this->print("Plugging Server <---> Router 1"); server.connectNode(&r1); - sleep(1); + usleep(600000); this->print("Plugging Server <---> Router 2"); server.connectNode(&r2); - sleep(1); + usleep(600000); + this->print("Starting simulation..."); sleep(1); - this->print("Starting simulation..."); this->createThread("r1", NODE_RECV, &r1); this->createThread("r2", NODE_RECV, &r2); this->createThread("s1", NODE_RECV, &server); this->print("Connecting peers to P2P server"); - peer1.connectToServer("80.80.90.91", 6565); - peer2.connectToServer("80.80.90.91", 6565); - sleep(1); - this->createThread("p1", NODE_RECV, &peer1); - this->createThread("p2", NODE_RECV, &peer2); + seed.connectToServer("80.80.90.91", 6565); + peer.connectToServer("80.80.90.91", 6565); + sleep(3); + this->createThread("p1", NODE_RECV, &seed); + this->createThread("p2", NODE_RECV, &peer);