找回密码
 立即注册
收起左侧

TCP多客户端与服务器通信该怎么写?

3
回复
7813
查看
[复制链接]
累计签到:8 天
连续签到:1 天
来源: 2016-6-10 21:26:46 显示全部楼层 |阅读模式
5Qter豆
最近在做一个项目,用到了TCP多客户端与服务器通信,看网上的一些评论说写服务器端要用到多线程技术,把多个所连接的客户端放到一个线程中去,但是我不知道怎么把多个客户端放进一个线程,请各位大侠们指点迷津,谢谢!


回复

使用道具 举报

尚未签到

2016-6-12 14:38:02 显示全部楼层
一般来说单线程或双线程就够了,线程太多反而降低CPU效率。

而且现在都是多个主机或多个虚拟服务器一起运行,不够用就加,每个服务器就跑那么几个线程。

点评

你说的意思我明白,我的意思是怎样把所有连接的客户端放进一个线程? //创建一个线程 QThread *thread=new QThread; thread->start(); //把100个新建的tcpSocket客户端放进线程中 for(int i=0;isetSocketDescriptor(  详情 回复 发表于 2016-6-12 19:39
回复

使用道具 举报

累计签到:8 天
连续签到:1 天
2016-6-12 19:39:55 显示全部楼层
Joey_Chan 发表于 2016-6-12 14:38
一般来说单线程或双线程就够了,线程太多反而降低CPU效率。

而且现在都是多个主机或多个虚拟服务器一起运 ...

你说的意思我明白,我的意思是怎样把所有连接的客户端放进一个线程?

//创建一个线程
QThread *thread=new QThread;
thread->start();

//把100个新建的tcpSocket客户端放进线程中
for(int i=0;i<100;i++){
    QTcpSocket *tcpSocket=new QTcpSocket;
    tcpSocket->setSocketDescriptor(handle);
    tcpSocekt->moveToThread(thread);
}

请问上面的写法正确吗? 是标准的写法吗?
回复

使用道具 举报

尚未签到

2016-6-14 01:49:44 显示全部楼层
没试过这种写法,所以不好评论,你试试看效果吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了