Qt 局域网聊天,QTcpServer,QTcpSocket,几处不懂,请教各位。

Scrg Scrg 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Qt局域网聊天,服务器端:

void TcpServerWidget::on_startServerButton_clicked()//点击开启服务器按钮
{
server = new QTcpServer;
server->listen(QHostAddress::Any,51234);
connect(server,SIGNAL(newConnection()),this,SLOT(newConnectSlot()));
}

void TcpServerWidget::newConnectSlot()
{
socket = server->nextPendingConnection();
connect(socket,SIGNAL(readyRead()),this,SLOT(readMessageSlot()));
}

第二个函数中的:
socket = server->nextPendingConnection();我看了Qt的帮助文档,但是还是不是很懂,希望大家可以讲解。
另外:
当server监听到有连接时,就调用newConnectSlot()槽函数,如果调用了一次之后,再监听到了,也会调用这个槽函数,那第一次调用的槽函数是否就失效了?
我在电脑上测试了一下,是:
如果开启一个服务器端,两个客户端,那样第一个客户端就不能和服务器正常通信了。应该怎么做才能让多个客户端连接呢?
另外:
当我点击开启服务器按钮的时候,就调用了void TcpServerWidget::on_startServerButton_clicked()这个槽函数,然后这个槽函数去做:connect(server,SIGNAL(newConnection()),this,SLOT(newConnectSlot()));连接信号和槽。
那我开启第二个客户端,连接服务器的时候,为什么也会使用到connect这个连接呢?没有地方使用到“开启服务器”按钮呀。
万分感激!
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
Scrg
工具平台和程序库 24,850 成员 27,330 内容