QT关于网络TCP通讯的记录
2017-06-12 23:23
375 查看
QT关于客户端和服务器端通过TCP连接通讯。直接上代码:
接收数据:
QTcpServer *m_pTCPSrv; //构建TCP服务器 m_pTCPSrv = new QTcpServer(this); //关联成功接收连接的信号,当有新的连接的时候,调用槽函数onNewConnection() connect(m_pTCPSrv, SIGNAL(newConnection()), this,SLOT(onNewConnection())); void SvrListener::onNewConnection(){ //接收新连接 QTcpSocket *sockclient = m_pTCPSrv->nextPendingConnection(); //获取远端IP和端口 QString strIPAndPort = sockclient->peerAddress().toString() + tr(" : %1").arg(sockclient->peerPort()); //添加到列表 ui->listWidget->addItem(strIPAndPort); //构建客户端对象 ClientJobs *pClientJob = new ClientJobs(this, sockclient, strIPAndPort); //IP-port列表 m_listIPAndPorts.append(strIPAndPort); //客户端列表 m_listClients.append(pClientJob); connect(pClientJob, SIGNAL(CallMainWindowDeleteClient(QString)), this, SLOT(DeleteOneClient(QString))); connect(pClientJob->m_pClientSock, SIGNAL(readyRead()),this,SLOT(readMessage())); //有可读的信息,触发读函数槽 }
接收数据:
void SvrListener::readMessage() //读取信息 { QByteArray qba = m_listClients[m_nIndex] -> m_pClientSock -> readAll(); qDebug()<<qba; QString ss=QVariant(qba).toString(); ui->textEditSvrMsg->setText(ss); }
相关文章推荐
- QT关于网络TCP通讯的记录(二)
- 关于tcp网络通讯的几个场景的小测试
- java 关于网络通讯/Tcp 基础知识
- java关于Tcp网络通讯简单介绍
- QT设置关于TCP通讯
- TCP/IP网络是如何通讯的
- TCP/IP网络是如何通讯的
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架
- 关于Iris网络流量分析监测工具对本地TCP无法抓包的问题
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架
- 关于“网络诊断工具—利用网络通讯分析系统诊断网络故障”抄袭一事申明 推荐
- [转]在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)
- tcp/ip学习第一步:网络中两台主机进行通讯,协议栈是如何处理数据报的.
- 在C++ Builder中用socket api来写网络通讯程序(同时支持TCP和UDP协议)
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- C#使用异步Socket实现TCP网络服务的CS的通讯构架(二)使用方法
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分