Merge branch 'Networking' of github.com:teamfisk/TacticalZ into Networking
# Conflicts: # include/Engine/Network/Client.h # src/Game/Game.cpp
This commit is contained in:
@@ -15,7 +15,8 @@ Client::Client() : m_Socket(m_IOService)
|
||||
|
||||
Client::~Client()
|
||||
{
|
||||
|
||||
// will it work on linux? #if defined (_WIN64) | defined(_WIN32) otherwise.
|
||||
_CrtDumpMemoryLeaks();
|
||||
}
|
||||
|
||||
void Client::Start(EventBroker* eventBroker)
|
||||
@@ -32,7 +33,6 @@ void Client::Start(EventBroker* eventBroker)
|
||||
}
|
||||
|
||||
boost::thread_group threads;
|
||||
socket_ptr sock(new udp::socket(m_IOService));
|
||||
|
||||
for (size_t i = 0; i < BOARDSIZE; i++) {
|
||||
for (size_t j = 0; j < BOARDSIZE; j++) {
|
||||
@@ -60,6 +60,7 @@ void Client::Close()
|
||||
{
|
||||
Disconnect();
|
||||
m_ThreadIsRunning = false;
|
||||
m_Socket.close();
|
||||
}
|
||||
|
||||
void Client::InputLoop()
|
||||
@@ -161,15 +162,16 @@ void Client::ParsePing()
|
||||
|
||||
void Client::ParseServerPing()
|
||||
{
|
||||
char* testMsg = new char[128];
|
||||
int testOffset = CreateMessage(MessageType::ServerPing, "Ping recieved", testMsg);
|
||||
char* testMessage = new char[128];
|
||||
int testOffset = CreateMessage(MessageType::ServerPing, "Ping recieved", testMessage);
|
||||
|
||||
//std::cout << "Parsing ping." << std::endl;
|
||||
|
||||
m_Socket.send_to(boost::asio::buffer(
|
||||
testMsg,
|
||||
testMessage,
|
||||
testOffset),
|
||||
m_ReceiverEndpoint, 0);
|
||||
delete[] testMessage;
|
||||
}
|
||||
|
||||
void Client::ParseEventMessage(char* data, size_t length)
|
||||
@@ -257,6 +259,18 @@ int Client::CreateMessage(MessageType type, std::string message, char* data)
|
||||
return offset;
|
||||
}
|
||||
|
||||
void Client::Connect()
|
||||
{
|
||||
char* dataPackage = new char[INPUTSIZE]; // The package that will be sent to the server, when filled
|
||||
int length = CreateMessage(MessageType::Connect, m_PlayerName, dataPackage);
|
||||
m_StartPingTime = std::clock();
|
||||
m_Socket.send_to(boost::asio::buffer(
|
||||
dataPackage,
|
||||
length),
|
||||
m_ReceiverEndpoint, 0);
|
||||
delete[] dataPackage;
|
||||
}
|
||||
|
||||
void Client::Disconnect()
|
||||
{
|
||||
char* dataPackage = new char[INPUTSIZE]; // The package that will be sent to the server, when filled
|
||||
@@ -265,6 +279,7 @@ void Client::Disconnect()
|
||||
dataPackage,
|
||||
len),
|
||||
m_ReceiverEndpoint, 0);
|
||||
delete[] dataPackage;
|
||||
}
|
||||
|
||||
void Client::MoveMessageHead(char*& data, size_t& length, size_t stepSize)
|
||||
@@ -286,16 +301,11 @@ void Client::SendDebugInput()
|
||||
}
|
||||
|
||||
if (GetAsyncKeyState('C')) {
|
||||
int length = CreateMessage(MessageType::Connect, m_PlayerName, dataPackage);
|
||||
m_StartPingTime = std::clock();
|
||||
m_Socket.send_to(boost::asio::buffer(
|
||||
dataPackage,
|
||||
length),
|
||||
m_ReceiverEndpoint, 0);
|
||||
Connect();
|
||||
}
|
||||
|
||||
if (GetAsyncKeyState('Q')) { // Does not work. Plez fix
|
||||
exit(1);
|
||||
if (GetAsyncKeyState('Q')) {
|
||||
Disconnect();
|
||||
}
|
||||
memset(dataPackage, 0, INPUTSIZE);
|
||||
delete[] dataPackage;
|
||||
|
||||
Reference in New Issue
Block a user