游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5248|回复: 11

关于服务器端的问题????

[复制链接]

8

主题

14

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2003-11-13 20:21:00 | 显示全部楼层 |阅读模式
每一个客户端都与服务器端建立TCP连接,那服务器端是为每一个连接建立一个线程呢,还是只用一个线程进行监听,然后开个SOCKET数组,把得到的SOCKET都放到数组里呢?? [em24]

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2003-11-13 20:34:00 | 显示全部楼层

Re:关于服务器端的问题????

都可以,一般的解决方法不是用每个连接一个线程,那样太消耗资源,要么是用IOCP,或者是用单线程处理。

8

主题

14

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2003-11-13 20:38:00 | 显示全部楼层

Re:关于服务器端的问题????

什么是IOCP啊?我是刚接触这方面,能说得明白一点吗?或者帮忙给几个能说明白的连接也可以!谢谢啊!

90

主题

797

帖子

833

积分

高级会员

论坛版主

Rank: 4

积分
833
QQ
发表于 2003-11-13 22:46:00 | 显示全部楼层

Re:关于服务器端的问题????

www.ngame2000.com
Icer Engine专栏中有对网络的详细介绍

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2003-11-13 23:20:00 | 显示全部楼层

Re:关于服务器端的问题????

IOCP是WINDOWS平台下的概念,一般网服不采用WIN32系统,使用LINUX或者UNIX系统。

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2003-11-14 09:34:00 | 显示全部楼层

Re:关于服务器端的问题????

呵呵,linux下在98年就实现了IOCP
只不过在linux下IOCP并不是完美解决方案。

Re:原代码之光:
ice的网络引擎是用的线程池,也就是说,是模仿的IOCP,这种解决方案在Linux下不是比较好的解决方案。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2003-11-14 10:17:00 | 显示全部楼层

Re:关于服务器端的问题????

win32 IOCP 是内核方式实现的,所以能极大的提高系统资源的利用率,在 win32 平台下是最好的解决方案,Linux 不清楚,但如果是模拟的话,恐怕效率不如 win32,不知 linux 下最好的解决方案是什么?

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2003-11-14 10:22:00 | 显示全部楼层

Re:关于服务器端的问题????

WIN32不管用任何一种方法,效率都比LINUX下要低。
linux下目前比较流行的方法是非阻塞单进程select.

由于win32的访问套接字的速度比linux慢4倍以上,所以用非阻塞单进程select会比较频繁的访问套接字,所以这种方法在WIN32下效率不高。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2003-11-15 00:01:00 | 显示全部楼层

Re:关于服务器端的问题????

能说说为什么 WIN32 的访问套接字的速度比 linux 慢4倍以上吗?谢谢。

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2003-11-15 09:37:00 | 显示全部楼层

Re:关于服务器端的问题????

http://www-900.ibm.com/developerWorks/cn/linux/sdk/rt/part6/index.shtml

呵呵,看看这个。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-27 17:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表