mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-13 05:20:00 -08:00
Log remote server identification and connection lifecycle [skip ci]
This commit is contained in:
parent
e08402ac94
commit
ae051891fb
1 changed files with 11 additions and 0 deletions
|
|
@ -136,6 +136,7 @@ RemoteClient::~RemoteClient()
|
|||
void RemoteClient::slotSocketError(QAbstractSocket::SocketError /*error*/)
|
||||
{
|
||||
QString errorString = socket->errorString();
|
||||
qCWarning(RemoteClientLog) << "Server connection error:" << errorString;
|
||||
doDisconnectFromServer();
|
||||
emit socketError(errorString);
|
||||
}
|
||||
|
|
@ -145,6 +146,7 @@ void RemoteClient::slotWebSocketError(QAbstractSocket::SocketError /*error*/)
|
|||
|
||||
QString errorString = websocket->errorString();
|
||||
if (getStatus() != ClientStatus::StatusDisconnected) {
|
||||
qCWarning(RemoteClientLog) << "Server connection error:" << errorString;
|
||||
doDisconnectFromServer();
|
||||
emit socketError(errorString);
|
||||
}
|
||||
|
|
@ -152,6 +154,7 @@ void RemoteClient::slotWebSocketError(QAbstractSocket::SocketError /*error*/)
|
|||
|
||||
void RemoteClient::slotConnected()
|
||||
{
|
||||
qCInfo(RemoteClientLog) << "Server transport connected";
|
||||
timeRunning = lastDataReceived = 0;
|
||||
timer->start();
|
||||
|
||||
|
|
@ -165,6 +168,12 @@ void RemoteClient::slotConnected()
|
|||
|
||||
void RemoteClient::processServerIdentificationEvent(const Event_ServerIdentification &event)
|
||||
{
|
||||
// Identification arrives before login, including when protocol versions differ.
|
||||
// Quote the server-supplied strings in the log and limit their size.
|
||||
const QString serverName = QString::fromStdString(event.server_name()).left(256);
|
||||
const QString serverVersion = QString::fromStdString(event.server_version()).left(256);
|
||||
qCInfo(RemoteClientLog) << "Server identification:" << serverName
|
||||
<< "version" << serverVersion << "protocol" << event.protocol_version();
|
||||
if (event.protocol_version() != protocolVersion) {
|
||||
emit protocolVersionMismatch(protocolVersion, event.protocol_version());
|
||||
setStatus(StatusDisconnecting);
|
||||
|
|
@ -657,6 +666,8 @@ void RemoteClient::sendCommandContainer(const CommandContainer &cont)
|
|||
void RemoteClient::connectToHost(const QString &hostname, unsigned int port)
|
||||
{
|
||||
usingWebSocket = port == 443 || port == 80 || port == 4748 || port == 8080;
|
||||
qCInfo(RemoteClientLog) << "Connecting to server" << hostname << "port" << port
|
||||
<< (usingWebSocket ? "using WebSocket" : "using TCP");
|
||||
if (usingWebSocket) {
|
||||
QUrl url(QString("%1://%2:%3/servatrice").arg(port == 443 ? "wss" : "ws").arg(hostname).arg(port));
|
||||
websocket->open(url);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue