wip
This commit is contained in:
1 parent
eb8bc7a696
commit
1dd457d2d2
5 files changed
+74
-70
No files matched your search
+33
-33
@@ -30,21 +30,21 @@ static char* intToHex(unsigned byteCount, int c) {
|
||||
static char* out = new char[32];
|
||||
const char* byte = (char*)&c;
|
||||
|
||||
printf("%x\n", c);
|
||||
printf("%x\n", byte[0] & 0xFF);
|
||||
printf("%x\n", byte[1] & 0xFF);
|
||||
//printf("%x\n", c);
|
||||
//printf("%x\n", byte[0] & 0xFF);
|
||||
//printf("%x\n", byte[1] & 0xFF);
|
||||
|
||||
|
||||
out[byteCount*3] = 0x0; //Terminate string
|
||||
//out[4] = 0xE; //Terminate string
|
||||
for (unsigned i = 0; i < byteCount; i++) {
|
||||
std::cout << "i(" << i << ") ";
|
||||
//std::cout << "i(" << i << ") ";
|
||||
//char byte = (c >> (i*8)) & 0xFF;
|
||||
const char* nibble = byteToHex(byte[i]);
|
||||
out[i*3] = nibble[0];
|
||||
out[i*3+1] = nibble[1];
|
||||
out[i*3+2] = ' ';
|
||||
std::cout << "Char1(" << out[0] << ") Char2(" << out[1] << ") Char3(" << out[2] << ")" << std::endl;
|
||||
//std::cout << "Char1(" << out[0] << ") Char2(" << out[1] << ") Char3(" << out[2] << ")" << std::endl;
|
||||
}
|
||||
return out;
|
||||
}
|
||||
@@ -53,6 +53,7 @@ Server::Server(Logger& logger, EventBus& eventBus)
|
||||
: _logger(logger),
|
||||
_eventBus(eventBus)
|
||||
{
|
||||
/*
|
||||
_logger.debug << "Testing some stuff..." << Logger::commit;
|
||||
_logger.debug << "Message header overall size: " << sizeof(Message::Header) << Logger::commit;
|
||||
// _logger.debug << "Message::Header size:" << sizeof(Message::Header) << endl;
|
||||
@@ -86,44 +87,43 @@ Server::Server(Logger& logger, EventBus& eventBus)
|
||||
"Additional Record Count: " << intToHex(2, header->arCount) << Logger::commit;
|
||||
myfile.close();
|
||||
//Testing over
|
||||
|
||||
_socket = new udp::socket(_io_context, udp::endpoint(udp::v4(), 8853));
|
||||
_logger.debug << "Done testing" << Logger::commit;
|
||||
*/
|
||||
_udpSocket = new udp::socket(_ioContext, udp::endpoint(udp::v4(), 8853));
|
||||
_ioContext.run();
|
||||
doReceive();
|
||||
}
|
||||
|
||||
Server::~Server() {
|
||||
|
||||
}
|
||||
Server::~Server() {}
|
||||
|
||||
void Server::run() {
|
||||
_io_context.run();
|
||||
do_receive();
|
||||
}
|
||||
//void Server::run() {
|
||||
// _ioContext.run();
|
||||
// doReceive();
|
||||
//}
|
||||
|
||||
void Server::do_receive()
|
||||
void Server::doReceive()
|
||||
{
|
||||
_socket->async_receive_from(
|
||||
asio::buffer(_data, 1024), _sender_endpoint,
|
||||
[this](std::error_code ec, std::size_t bytes_recvd)
|
||||
{
|
||||
if (!ec && bytes_recvd > 0)
|
||||
{
|
||||
do_send(bytes_recvd);
|
||||
_udpSocket->async_receive_from(
|
||||
asio::buffer(_data, 1024), _sender_endpoint,
|
||||
[this](std::error_code ec, std::size_t bytes_recvd)
|
||||
{
|
||||
if (!ec && bytes_recvd > 0) {
|
||||
doSend(bytes_recvd);
|
||||
}
|
||||
else
|
||||
{
|
||||
do_receive();
|
||||
else {
|
||||
doReceive();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
void Server::do_send(std::size_t length)
|
||||
void Server::doSend(std::size_t length)
|
||||
{
|
||||
_socket->async_send_to (
|
||||
asio::buffer(_data, length), _sender_endpoint,
|
||||
[this](std::error_code /*ec*/, std::size_t /*_bytessent*/)
|
||||
{
|
||||
do_receive();
|
||||
});
|
||||
_udpSocket->async_send_to (
|
||||
asio::buffer(_data, length), _sender_endpoint,
|
||||
[this](std::error_code /*ec*/, std::size_t /*_bytessent*/)
|
||||
{
|
||||
doReceive();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user