mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-26 09:32:34 +00:00
[Telnet] Automatically prune connections
This commit is contained in:
parent
4493ebebab
commit
aa8b0570d6
@ -4,6 +4,7 @@
|
|||||||
#include "../eqemu_logsys.h"
|
#include "../eqemu_logsys.h"
|
||||||
#include "../servertalk.h"
|
#include "../servertalk.h"
|
||||||
#include "../rulesys.h"
|
#include "../rulesys.h"
|
||||||
|
#include "../event/timer.h"
|
||||||
#include <fmt/format.h>
|
#include <fmt/format.h>
|
||||||
|
|
||||||
EQ::Net::ConsoleServerConnection::ConsoleServerConnection(ConsoleServer *parent, std::shared_ptr<TCPConnection> connection)
|
EQ::Net::ConsoleServerConnection::ConsoleServerConnection(ConsoleServer *parent, std::shared_ptr<TCPConnection> connection)
|
||||||
@ -22,6 +23,12 @@ EQ::Net::ConsoleServerConnection::ConsoleServerConnection(ConsoleServer *parent,
|
|||||||
m_connection->Start();
|
m_connection->Start();
|
||||||
ClearBuffer();
|
ClearBuffer();
|
||||||
|
|
||||||
|
m_keepalive = std::make_unique<EQ::Timer>(1000, true, [this](EQ::Timer *t) {
|
||||||
|
EQ::Net::DynamicPacket clear;
|
||||||
|
clear.PutUInt8(0, 0);
|
||||||
|
m_connection->Write((const char*)clear.Data(), clear.Length());
|
||||||
|
});
|
||||||
|
|
||||||
auto addr = m_connection->RemoteIP();
|
auto addr = m_connection->RemoteIP();
|
||||||
|
|
||||||
SendLine(fmt::format("Establishing connection from: {0}:{1}", addr, m_connection->RemotePort()));
|
SendLine(fmt::format("Establishing connection from: {0}:{1}", addr, m_connection->RemotePort()));
|
||||||
@ -227,6 +234,8 @@ void EQ::Net::ConsoleServerConnection::OnRead(TCPConnection *c, const unsigned c
|
|||||||
|
|
||||||
void EQ::Net::ConsoleServerConnection::OnDisconnect(TCPConnection *c)
|
void EQ::Net::ConsoleServerConnection::OnDisconnect(TCPConnection *c)
|
||||||
{
|
{
|
||||||
|
LogInfo("Console connection disconnected");
|
||||||
|
|
||||||
m_parent->ConnectionDisconnected(this);
|
m_parent->ConnectionDisconnected(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "tcp_server.h"
|
#include "tcp_server.h"
|
||||||
|
#include "../event/timer.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
@ -58,6 +59,7 @@ namespace EQ
|
|||||||
int m_user_id;
|
int m_user_id;
|
||||||
int m_admin;
|
int m_admin;
|
||||||
bool m_accept_messages;
|
bool m_accept_messages;
|
||||||
|
std::unique_ptr<EQ::Timer> m_keepalive;
|
||||||
|
|
||||||
size_t m_cursor;
|
size_t m_cursor;
|
||||||
char m_line[MaxConsoleLineLength];
|
char m_line[MaxConsoleLineLength];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user