做了一些修改

This commit is contained in:
Msy-msu 2023-01-15 17:18:01 +08:00
parent f0fe51fc54
commit 0875d5ec0b
5 changed files with 12 additions and 4 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 6.0.2, 2023-01-14T13:53:08. -->
<!-- Written by QtCreator 6.0.2, 2023-01-15T17:16:52. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
@ -240,8 +240,8 @@
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:\Users\25761\Desktop\TcpServer\TcpServer.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">C:\Users\25761\Desktop\TcpServer\TcpServer.pro</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/25761/Desktop/TcpServer/TcpServer.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">C:/Users/25761/Desktop/TcpServer/TcpServer.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>

View File

@ -7,6 +7,7 @@ DataManager::DataManager(QObject *parent)
database = DataBase::getInstance();
protocol = Protocol::getInstance();
server = TCPServer::getInstance();
server->setTimeOut(500);
server->configAndrun();
server->setCallBack(disconnect_from_cln);
server->setCallBack(recv_from_cln);

Binary file not shown.

View File

@ -84,7 +84,7 @@ void TCPServer::TCPReadPeer()
while(sock->bytesAvailable())//循环接收
{
recv += sock->readAll();
if (!sock->waitForReadyRead(500))//超时停止接收
if (!sock->waitForReadyRead(_timeout))//超时停止接收
{
/*QString error = sock->errorString();
string error_t = error.toStdString();
@ -100,6 +100,11 @@ void TCPServer::TCPReadPeer()
recvcallback(recv,sock);
}
void TCPServer::setTimeOut(int timeout)
{
_timeout = timeout;
}
void TCPServer::setCallBack(void (*callback)(QByteArray &data, QTcpSocket* socket))
{
recvcallback = callback;

View File

@ -16,10 +16,12 @@ public:
void setCallBack(void (*callback)(QByteArray &data,QTcpSocket* socket));//Qt的信号-槽机制实际就是回调函数,
void setCallBack(void (*callback)(QTcpSocket* socket)); //此处为练手,不使用该机制
void sendToclient(QTcpSocket *socket,QByteArray data);
void setTimeOut(int timeout);
void stopRun();
private:
explicit TCPServer(QObject *parent = nullptr);
~TCPServer();
int _timeout = 20;
QString listen_addr = "0.0.0.0";
qint16 listen_port = 7890;
QTcpServer tcp_server;