不务正业的c++程序员(QLocalSocket实现通信)
很久之前写的一个小破例子仅供参考
值得一提的是如果多次消息通信需要写While循环在接收端,不然Qt信号槽会在当缓冲区有内容是不触发导致程序崩溃,下面代码只是个简单的通信,是在我学习的时候瞎写的,今天突然看到了就发出来我记得还写过UDP,TCP找到了一并发出来。
server端
#include "nylocalsocket.h"
nylocalsocket::nylocalsocket(QObject *parent) : QObject(parent)
{
m_server = new QLocalServer(this);
QObject::connect(m_server, SIGNAL(newConnection()), this, SLOT(serverNewConnectionHandler()));
}
void nylocalsocket::runserver()
{
qDebug() << "Run Server ok";
QLocalServer::removeServer("ServerName");
bool ok = m_server->listen("ServerName");
if (!ok)
{
// TODO:
m_server->close();
}
}
void nylocalsocket::serverNewConnectionHandler()
{
qDebug() << "New Connection";
QLocalSocket* socket = m_server->nextPendingConnection();
QObject::connect(socket, SI