作者LaPass (LaPass)
看板java
标题Re: [问题] single thread的聊天室
时间Sat Nov 19 13:16:57 2011
※ 引述《rock1985 (疾风)》之铭言:
: 小弟最近再重练以前写过的聊天室
: 不过太久远了所以感觉有点不熟悉
: 想请问一下大家 我现在要做1对1的聊天
: 如果只用single thread 去开socket
: 可以做到完全的一来一往的聊天室吗??
: 我现在写到的部分server可以回传client的输入
: 但是我做了几种方式都没有办法让server端也可以打字和client对话
: 不然就是讲一讲会卡在中间
: 下面是我的code,想请教大家server端要怎麽修改才可以让两边正常自由的对话呢
: server:
: http://pastie.org/2886576
: client:
: http://pastie.org/2886578
: 谢谢大家
不好意思,想借这篇问一下
连线时开的执行绪数目到底有什麽影响?
之前我写聊天室时
是开一个使用者开两条执行绪
两边可以同时收、发讯息
那.... 效能或是系统上会不会有什麽问题,或是有需要顾虑的地方?
如果一个使用者两条的话
5000人在线就会有10000条执行绪同时在运作
听起来蛮吓人的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.140.89.200
1F:推 lovdkkkk:切换很浪费时间 11/19 13:28
2F:→ lovdkkkk:储存很浪费记忆体 11/19 15:55
3F:→ LaPass:那像Ptt那种十万人在线到底是怎麽办到的? 11/19 17:27
4F:→ LaPass:虽然语言、系统都有差别,但应该有个原则之类的吧? 11/19 17:29
5F:→ aleelyle:一条thread可以不只服务一个user 而且在线!=需要马上服务 11/19 19:49
6F:→ aleelyle:就像5个服务生可以服务100个人 11/19 19:54
7F:→ LaPass:了解 感谢 11/19 20:29
8F:推 lovdkkkk:五楼专业 11/19 20:56
9F:→ dou0228:Java 有 NIO, 可选用 Apache Mina or JBoss Netty 11/19 22:07
10F:→ dou0228:C 则用 libevent or libev 11/19 22:11
11F:→ LaPass:谢谢关键字 11/20 09:03