Network is now working as udp or tcp. Next step is making the hybrid.
This commit is contained in:
@@ -1,25 +1,31 @@
|
||||
#ifndef UDPServer_h__
|
||||
#define UDPServer_h__
|
||||
|
||||
#include "Server.h"
|
||||
#include "NetworkServer.h"
|
||||
#include <boost/asio/ip/udp.hpp>
|
||||
//
|
||||
//virtual void AcceptNewConnections() = 0;
|
||||
//virtual void Receive(Packet & packet, PlayerDefinition & playerDefinition) = 0;
|
||||
//virtual void Send(Packet & packet, PlayerDefinition & playerDefinition) = 0;
|
||||
//virtual void Send(Packet & packet) = 0;
|
||||
|
||||
class UDPServer : public Server
|
||||
class UDPServer : public NetworkServer
|
||||
{
|
||||
public:
|
||||
UDPServer();
|
||||
~UDPServer();
|
||||
void AcceptNewConnections(int& nextPlayerID, std::map<PlayerID, PlayerDefinition>& connectedPlayers);
|
||||
void Receive(Packet & packet, PlayerDefinition & playerDefinition);
|
||||
//void parseConnect(Packet & packet, PlayerDefinition & playerDefinition);
|
||||
void Send(Packet & packet, PlayerDefinition & playerDefinition);
|
||||
void Send(Packet & packet);
|
||||
bool IsSocketAvailable();
|
||||
private:
|
||||
// UDP logic
|
||||
boost::asio::io_service m_IOService;
|
||||
boost::asio::ip::udp::endpoint m_ReceiverEndpoint;
|
||||
std::unique_ptr<boost::asio::ip::udp::socket> m_Socket;
|
||||
|
||||
void readFromClients();
|
||||
int receive(char * data);
|
||||
void parseConnect(Packet & packet);
|
||||
void send(Packet & packet, PlayerDefinition & playerDefinition);
|
||||
void send(Packet & packet);
|
||||
int readBuffer(char* data);
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user