mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
Merge pull request #437 from lioncash/netplay
Minor netplay server cleanup
This commit is contained in:
@ -2,6 +2,8 @@
|
|||||||
// Licensed under GPLv2
|
// Licensed under GPLv2
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include "Core/NetPlayServer.h"
|
#include "Core/NetPlayServer.h"
|
||||||
|
|
||||||
NetPlayServer::~NetPlayServer()
|
NetPlayServer::~NetPlayServer()
|
||||||
@ -112,15 +114,8 @@ void NetPlayServer::ThreadFunc()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// close listening socket and client sockets
|
// close listening socket and client sockets
|
||||||
{
|
for (auto& player_entry : m_players)
|
||||||
std::map<sf::SocketTCP, Client>::reverse_iterator
|
player_entry.second.socket.Close();
|
||||||
i = m_players.rbegin(),
|
|
||||||
e = m_players.rend();
|
|
||||||
for ( ; i!=e; ++i)
|
|
||||||
i->second.socket.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// called from ---NETPLAY--- thread
|
// called from ---NETPLAY--- thread
|
||||||
@ -424,15 +419,14 @@ unsigned int NetPlayServer::OnData(sf::Packet& packet, sf::SocketTCP& socket)
|
|||||||
PadMapping map = 0;
|
PadMapping map = 0;
|
||||||
u8 size;
|
u8 size;
|
||||||
packet >> map >> size;
|
packet >> map >> size;
|
||||||
u8* data = new u8[size];
|
std::vector<u8> data(size);
|
||||||
for (unsigned int i = 0; i < size; ++i)
|
for (size_t i = 0; i < data.size(); ++i)
|
||||||
packet >> data[i];
|
packet >> data[i];
|
||||||
|
|
||||||
// If the data is not from the correct player,
|
// If the data is not from the correct player,
|
||||||
// then disconnect them.
|
// then disconnect them.
|
||||||
if (m_wiimote_map[map] != player.pid)
|
if (m_wiimote_map[map] != player.pid)
|
||||||
{
|
{
|
||||||
delete[] data;
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -441,10 +435,8 @@ unsigned int NetPlayServer::OnData(sf::Packet& packet, sf::SocketTCP& socket)
|
|||||||
spac << (MessageId)NP_MSG_WIIMOTE_DATA;
|
spac << (MessageId)NP_MSG_WIIMOTE_DATA;
|
||||||
spac << map;
|
spac << map;
|
||||||
spac << size;
|
spac << size;
|
||||||
for (unsigned int i = 0; i < size; ++i)
|
for (const u8& byte : data)
|
||||||
spac << data[i];
|
spac << byte;
|
||||||
|
|
||||||
delete[] data;
|
|
||||||
|
|
||||||
std::lock_guard<std::recursive_mutex> lks(m_crit.send);
|
std::lock_guard<std::recursive_mutex> lks(m_crit.send);
|
||||||
SendToClients(spac, player.pid);
|
SendToClients(spac, player.pid);
|
||||||
|
Reference in New Issue
Block a user