做了一些修改
This commit is contained in:
parent
f0fe51fc54
commit
0875d5ec0b
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!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>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
@ -240,8 +240,8 @@
|
||||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<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.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.RunConfiguration.BuildKey">C:/Users/25761/Desktop/TcpServer/TcpServer.pro</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||||
|
|
|
@ -7,6 +7,7 @@ DataManager::DataManager(QObject *parent)
|
||||||
database = DataBase::getInstance();
|
database = DataBase::getInstance();
|
||||||
protocol = Protocol::getInstance();
|
protocol = Protocol::getInstance();
|
||||||
server = TCPServer::getInstance();
|
server = TCPServer::getInstance();
|
||||||
|
server->setTimeOut(500);
|
||||||
server->configAndrun();
|
server->configAndrun();
|
||||||
server->setCallBack(disconnect_from_cln);
|
server->setCallBack(disconnect_from_cln);
|
||||||
server->setCallBack(recv_from_cln);
|
server->setCallBack(recv_from_cln);
|
||||||
|
|
BIN
server.exe
BIN
server.exe
Binary file not shown.
|
@ -84,7 +84,7 @@ void TCPServer::TCPReadPeer()
|
||||||
while(sock->bytesAvailable())//循环接收
|
while(sock->bytesAvailable())//循环接收
|
||||||
{
|
{
|
||||||
recv += sock->readAll();
|
recv += sock->readAll();
|
||||||
if (!sock->waitForReadyRead(500))//超时停止接收
|
if (!sock->waitForReadyRead(_timeout))//超时停止接收
|
||||||
{
|
{
|
||||||
/*QString error = sock->errorString();
|
/*QString error = sock->errorString();
|
||||||
string error_t = error.toStdString();
|
string error_t = error.toStdString();
|
||||||
|
@ -100,6 +100,11 @@ void TCPServer::TCPReadPeer()
|
||||||
recvcallback(recv,sock);
|
recvcallback(recv,sock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TCPServer::setTimeOut(int timeout)
|
||||||
|
{
|
||||||
|
_timeout = timeout;
|
||||||
|
}
|
||||||
|
|
||||||
void TCPServer::setCallBack(void (*callback)(QByteArray &data, QTcpSocket* socket))
|
void TCPServer::setCallBack(void (*callback)(QByteArray &data, QTcpSocket* socket))
|
||||||
{
|
{
|
||||||
recvcallback = callback;
|
recvcallback = callback;
|
||||||
|
|
|
@ -16,10 +16,12 @@ public:
|
||||||
void setCallBack(void (*callback)(QByteArray &data,QTcpSocket* socket));//Qt的信号-槽机制实际就是回调函数,
|
void setCallBack(void (*callback)(QByteArray &data,QTcpSocket* socket));//Qt的信号-槽机制实际就是回调函数,
|
||||||
void setCallBack(void (*callback)(QTcpSocket* socket)); //此处为练手,不使用该机制
|
void setCallBack(void (*callback)(QTcpSocket* socket)); //此处为练手,不使用该机制
|
||||||
void sendToclient(QTcpSocket *socket,QByteArray data);
|
void sendToclient(QTcpSocket *socket,QByteArray data);
|
||||||
|
void setTimeOut(int timeout);
|
||||||
void stopRun();
|
void stopRun();
|
||||||
private:
|
private:
|
||||||
explicit TCPServer(QObject *parent = nullptr);
|
explicit TCPServer(QObject *parent = nullptr);
|
||||||
~TCPServer();
|
~TCPServer();
|
||||||
|
int _timeout = 20;
|
||||||
QString listen_addr = "0.0.0.0";
|
QString listen_addr = "0.0.0.0";
|
||||||
qint16 listen_port = 7890;
|
qint16 listen_port = 7890;
|
||||||
QTcpServer tcp_server;
|
QTcpServer tcp_server;
|
||||||
|
|
Loading…
Reference in New Issue