listen error

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()。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值