QtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSocketQtSo