首页| 论坛| 消息

标题:多线程服务器问题
作者:sambrown
日期:2013-05-01 20:35
内容:

想写一个简单的多线程服务器
于是就参考了qt example 里面的QThreadFortuneServer
这个例子在实现多线程服务器时,在监听函数里面开了一个线程 就是thread 对象。
void FortuneServer::incomingConnection(int socketDescriptor){QString fortune = fortunes.at(qrand() % fortunes.size());FortuneThread *thread = new FortuneThread(socketDescriptor, fortune, this);connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));thread->start();}
请问如果要是多个客户端同时连接是,是不是应该改成thread数组?
FortuneThread *thread
每当有一个客户端连接的话就新建立一个对象?thread


#1 [pxiao_xiao 05-01 23:14]
无能为力 想了想 不用每个连接客户端的SOCKET都建立一个线程 也不是没有办法你得自己构造数据结构和通知机制
#2 回 1楼(pxiao_xiao) 的帖子 [sambrown 05-01 23:22]
为每个客户端建立socket怎么写? 每个客户端都是一个 QThread 类 的对象吗?
#3 [pxiao_xiao 05-01 23:26]
这个没法讲 你要构建类似WINDOWS的WaitForMultipleObjects这样的机制
#4 回 3楼(pxiao_xiao) 的帖子 [sambrown 05-01 23:37]
我只是想让多个客户端发送数据, 让一个服务端接受, 有这么麻烦吗? 难道还要写个线程池什么的?
#5 [ppdayz 05-02 08:55]
接收是没有问题,不用什么线程池,但是关键是你要接收了处理,如果单纯接收而不处理的话,单线程就没问题,但是光接收不处理又有什么用呢?

<< 1 2 3 >> (1/3)

回复 发表
主题 版块