2 Star 1 Fork 3

panda/串口调试助手

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
tcpserver.cpp 2.10 KB
一键复制 编辑 原始数据 按行查看 历史
panda 提交于 2018-06-12 17:48 +08:00 . 加入tcpserver
#include "tcpserver.h"
#include <QThread>
#include <QList>
TcpSocket::TcpSocket(int socketdesc, QTcpSocket *parent):QTcpSocket(parent)
{
this->setSocketDescriptor(socketdesc);
connect(this,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(SocketError(QAbstractSocket::SocketError)));
}
TcpSocket::~TcpSocket()
{
}
//将会移进线程里面运行
void TcpSocket::ReadAndParseData()
{
TcpSocket *socket = (TcpSocket *)sender();
QByteArray byte = socket->readAll();
qDebug() <<"recvstr=" << byte.toHex()<< socket->peerAddress() << socket->peerPort();
// m_recvDataStr += recvStr;
//对数据的处理
}
void TcpSocket::SocketError(QAbstractSocket::SocketError socketError)
{
TcpSocket *socket = (TcpSocket*)sender();
qDebug() << socket->socketDescriptor();
}
TcpServer::TcpServer(const QString ip,int port,QTcpServer *parent) : QTcpServer(parent)
{
bool bsucc;
if(ip.length()==0)
bsucc = this->listen(QHostAddress::AnyIPv4,port);
else
bsucc = this->listen(QHostAddress(ip),port);
}
TcpServer::~TcpServer()
{
this->close();
QList<TcpSocket*>::iterator it = m_socketList.begin();
for(;it!=m_socketList.end();)
{
TcpSocket *sock = *it;
m_socketList.erase(it++);
delete sock;
sock = NULL;
}
}
void TcpServer::incomingConnection(qintptr socketDescriptor)
{
TcpSocket *socket = new TcpSocket(socketDescriptor);
connect(socket,SIGNAL(readyRead()),socket,SLOT(ReadAndParseData()));
connect(socket,SIGNAL(disconnected()),this,SLOT(SocketDisconn()));
QThread *thread = new QThread(socket);
connect(socket,SIGNAL(disconnected()),thread,SLOT(quit()));
socket->moveToThread(thread);
thread->start();
emit newConnection();
}
void TcpServer::SocketDisconn()
{
TcpSocket *socket = (TcpSocket*)sender();
QList<TcpSocket *>::iterator it = std::find(m_socketList.begin(),m_socketList.end(),socket);
if(it !=m_socketList.end())
{
m_socketList.erase(it);
delete socket;
socket = NULL;
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/panda1231/serial_debug_assistant.git
git@gitee.com:panda1231/serial_debug_assistant.git
panda1231
serial_debug_assistant
串口调试助手
master

搜索帮助