1.QAbstractSocket::SocketError QTcpServer::serverError () const
Returns an error code for the last error that occurred.
See also errorString().
2.QString QTcpServer::errorString () const
Returns a human readable description of the last error that occurred.
See also serverError().
//有客户端连接过来
void mytesttcpserver :: slotincomingConnection(int socketDescriptor)
{
QTcpSocket testTcpSocket;
testTcpSocket.setSocketDescriptor(socketDescriptor);
//显示连接次数,远程主机IP和端口
socket_count++;
QVariant vcount(socket_count);
QVariant vport(testTcpSocket.peerPort());
QString msg;
msg="count:"+vcount.toString()+" IP:"+testTcpSocket.peerAddress().toString()+" port:"+vport.toString();
lineEditText->setText(msg);
testTcpSocket.disconnectFromHost();
testTcpSocket.close();
testTcpSocket.abort();
}
//运行到这里,说明没有实例在运行,那么创建服务器。
23
24 m_localServer = new QLocalServer(this);
25
26 connect(m_localServer, SIGNAL(newConnection()),
27 this, SLOT(newLocalSocketConnection())); //监听新到来的连接
28
29 if (!m_localServer->listen(serverName)) {
30 if (m_localServer->serverError() == QAbstractSocket::AddressInUseError
31 && QFile::exists(m_localServer->serverName())) { //确保能够监听成功
32 QFile::remove(m_localServer->serverName());
33 m_localServer->listen(serverName);
34 }
35 }
36 // 这样就保证了新启动的程序在检测到有其他实例在运行时就会自动退出,
37 // 但是它发出的请求还没有被处理,
38 // 下面看一下处理函数,也就是前段代码中的newLocalSocketConnection()。
listen error
最新推荐文章于 2022-05-27 18:30:55 发布