-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServer.cpp
More file actions
40 lines (35 loc) · 1.3 KB
/
Copy pathServer.cpp
File metadata and controls
40 lines (35 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//
// Created by Matt on 12/09/2016.
//
#include <iostream>
#include "Server.h"
void Server::processIncomingPackets() {
if (socket->receive() != 0) {
std::cout << "Received packet. Deserialising" << std::endl;
Packet packet = Packet();
PacketSerialiser serialiser = PacketSerialiser(socket->getReceivedData(),
(unsigned int) socket->getReceivedDataSize());
packet.setSender(socket->getLastSender());
if (packet.deserialise(&serialiser) == 0) {
std::cout << "Received packet of type: " << packet.getType() << " From Sender: "
<< packet.getSender().getA() << "." << packet.getSender().getB() << "."
<< packet.getSender().getC() << "." << packet.getSender().getD() << ":"
<< packet.getSender().getPort() << std::endl;
connectionHandler->processPacket(&packet);
} else {
std::cerr << "Failed to deserialise packet" << std::endl;
}
}
}
Server::Server(UDPSocket *socket) : socket(socket) {
running = true;
ConnectionHandler c = ConnectionHandler(socket);
connectionHandler = &c;
}
bool Server::update() {
processIncomingPackets();
return false;
}
bool Server::isRunning() {
return running;
}