Basic P2P functionality.

This commit is contained in:
Gav Wood 2014-01-22 09:40:45 -05:00
parent 5afc641ea9
commit 3b9040b4a1

View File

@ -27,72 +27,33 @@ using boost::asio::ip::tcp;
int peerTest(int argc, char** argv) int peerTest(int argc, char** argv)
{ {
int port = 30303; short listenPort = 30303;
PeerServer s(0, port); string remoteHost;
s.run(); short remotePort = 30303;
/*
if (argc == 1)
{
boost::asio::io_service io_service;
tcp::acceptor acceptor_(io_service, tcp::endpoint(tcp::v4(), port));
tcp::socket socket_(io_service);
function<void()> do_accept;
do_accept = [&]()
{
acceptor_.async_accept(socket_, [&](boost::system::error_code ec)
{
if (!ec)
{
auto s = move(socket_);
enum { max_length = 1024 };
char data_[max_length];
function<void()> do_read; for (int i = 1; i < argc; ++i)
do_read = [&]()
{ {
s.async_read_some(boost::asio::buffer(data_, max_length), [&](boost::system::error_code ec, std::size_t length) string arg = argv[i];
{ if (arg == "-l" && i + 1 < argc)
if (!ec) listenPort = atoi(argv[++i]);
boost::asio::async_write(s, boost::asio::buffer(data_, length), [&](boost::system::error_code ec, std::size_t) else if (arg == "-r" && i + 1 < argc)
{ remoteHost = argv[++i];
if (!ec) else if (arg == "-p" && i + 1 < argc)
do_read(); remotePort = atoi(argv[++i]);
});
});
};
}
do_accept();
});
};
io_service.run();
}
else else
{ remoteHost = argv[i];
}
}*/ PeerServer pn(0, listenPort);
if (!remoteHost.empty())
pn.connect(remoteHost, remotePort);
/* if (argc == 1)
{
PeerNetwork pn(0, 30303);
while (true) while (true)
{ {
usleep(100000); usleep(100000);
pn.process(); pn.process();
} }
}
else
{
PeerNetwork pn(0);
if (pn.connect("127.0.0.1", 30303))
cout << "CONNECTED" << endl;
while (true)
{
usleep(100000);
pn.process();
}
}*/
return 0; return 0;
} }