FIX: fixed bug with the leaving and joining from local clients
This commit is contained in:
@@ -15,7 +15,7 @@ namespace WHISPER {
|
||||
|
||||
|
||||
struct localClient{
|
||||
short port;
|
||||
std::uint32_t port;
|
||||
std::string addr;
|
||||
std::uint32_t id;
|
||||
zmq::socket_t clientSocket;
|
||||
|
||||
@@ -137,7 +137,7 @@ namespace WHISPER {
|
||||
if (localclients.size() > 0) {
|
||||
for (auto it = localclients.begin(); it != localclients.end();it++)
|
||||
{
|
||||
if (it->get()->port == join.port) {
|
||||
if (it->get()->port == join.port || it->get()->id == join.deviceId_) {
|
||||
clientAllreadyIn = true;
|
||||
}
|
||||
}
|
||||
@@ -169,7 +169,7 @@ namespace WHISPER {
|
||||
if (localclients.size() > 0) {
|
||||
for (auto it = localclients.begin(); it != localclients.end();it++)
|
||||
{
|
||||
if (it->get()->port == Leave.port) {
|
||||
if (it->get()->port == Leave.port || it->get()->id == Leave.deviceId_) {
|
||||
it->get()->clientSocket.close();
|
||||
it = localclients.erase(it);
|
||||
LOG_S(INFO)<<"client left";
|
||||
|
||||
Reference in New Issue
Block a user