TCP and UDP Client are working for 1 connected player, more players are not tested yet

This commit is contained in:
Jocke
2016-02-05 18:30:31 +01:00
parent 9232b24a7b
commit 88d7b79cd3
17 changed files with 253 additions and 182 deletions
-11
View File
@@ -8,30 +8,19 @@ class TCPServer : public Server
public:
TCPServer();
~TCPServer();
private:
// TCP logic
boost::asio::ip::udp::endpoint m_ReceiverEndpoint;
boost::asio::io_service m_IOService;
std::unique_ptr<boost::asio::ip::tcp::acceptor> acceptor;
boost::shared_ptr<boost::asio::ip::tcp::socket> lastReceivedSocket;
void Start(World* world, EventBroker* eventBroker);
void readFromClients();
void acceptNewConnections();
void handle_accept(boost::shared_ptr<boost::asio::ip::tcp::socket> socket, const boost::system::error_code & error);
void parseDisconnect();
void parseConnect(Packet & packet);
///// Implement method to get which player it was
void parseClientPing();
void parsePing();
void parseOnInputCommand(Packet & packet);
void parsePlayerTransform(Packet & packet);
/////////////////////////
void send(Packet & packet, PlayerDefinition & playerDefinition);
void send(Packet & packet);
int receive(char * data, boost::asio::ip::tcp::socket& socket);
PlayerID GetPlayerIDFromEndpoint(boost::asio::ip::udp::endpoint endpoint);
};
#endif