免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: chs6166
打印 上一主题 下一主题

网络编程中如何实现多人在线啊??查到的资料最多支持1024个 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2005-01-16 09:44 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

原帖由 "精简指令" 发表:
另外,有哪位兄弟用过Linux上的aio,或者是比较熟悉的,能不能介绍一下经验。比如性能方面的,使用方面的,与传统模式的对比。


aio不适用于socket吧?好像只能用于普通文件

论坛徽章:
0
32 [报告]
发表于 2005-01-19 08:47 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

大部分普通服务器和操作系统都达不到你的要求,不论你的代码如何设计。
即使在Linux这样的服务器上,能达到256个同时在线已经很不错了。

不过这也跟协议有关系,如果你使用的是报表协议UDP 那么可能可以达到很高的量,以为UDP不需要维护连接。如果你使用的是TCP并且在维护连接那么可能无法达到。

Apache使用的是TCP但HTTP协议的做法是把数据发过去,然后就断掉连接的方法,所以好象可以实现很高的连接。

QQ使用的是非常多的低性能服务器集群方式,并且以UDP协议为主。

论坛徽章:
0
33 [报告]
发表于 2005-01-19 09:46 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

“即使在Linux这样的服务器上,能达到256个同时在线已经很不错了。 ”

我可以很负责任的说,你这个说法是不对的。这个(即使在国内)是有事实证明的,不用说理论。

关于协议问题,UDP没你想象的那么理想。在比较复杂的网络环境下(比如大陆地区),如果想用UDP维持比较大数量的同时在线和并发请求,几乎需要在应用层实现全部TCP的东西(超时,丢包,乱序等问题)。结果是还不如直接使用TCP。

另外,能同时支持的在线人数多少,除了与服务器处理并发的能力有关,还和网络状况有很大关系。特别是运营商之间的某些人为的瓶颈,是技术无法跨越的。

论坛徽章:
0
34 [报告]
发表于 2005-01-19 23:41 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

原帖由 "chs6166" 发表:
我目前的服务器是LINUX的。
采用SELECT()方式。
但查到的资料上说这种方式最大支持1024个SOCKET 链接。

这1024个是指操作系统最多支持的数量?还是每个进程最多支持的数量?

如果采用POLL或者EPOLL是否会?.........


肯定要采用多线程或者进程

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
35 [报告]
发表于 2005-01-20 01:46 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

多个网卡,多个后台服务socket,前台使用连接池。

论坛徽章:
0
36 [报告]
发表于 2005-01-20 09:43 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

你所说的多人同时在线,是每个用户都跟服务器保持TCP连接? 还是什么意思?  可以借鉴QQ的做法啊,用UDP协议,自己实现丢包之类的协议。

论坛徽章:
0
37 [报告]
发表于 2005-01-20 12:29 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

在线,我觉得未必是一定一直保持TCP连接。只要用户一有动作请求,SERVER马上就提供服务对用户就是在线。

论坛徽章:
0
38 [报告]
发表于 2005-01-20 12:44 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

我觉得,“在线”应该再加上一个“session”。用户一旦通过身份验证,就需要维护一个用户的在线状态信息。

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
39 [报告]
发表于 2005-01-21 13:17 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

原帖由 "精简指令" 发表:
关于协议问题,UDP没你想象的那么理想

几乎需要在应用层实现全部TCP的东西(超时,丢包,乱序等问题)



说的有道理。不过实际中常常不做的那么复杂。

论坛徽章:
0
40 [报告]
发表于 2005-01-23 23:49 |只看该作者

网络编程中如何实现多人在线啊??查到的资料最多支持1024个

等着有人,能提供一个好方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP