游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: GameSDK

为什么许多游戏都直接用Socket进行网络传输,而不用Direct

[复制链接]

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-6-3 14:51:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

靠,没文化就算了,还他妈的几几歪歪的。
http://www-900.ibm.com/developerWorks/cn/linux/sdk/rt/part6/index.shtml
从part1一直到part10,自己看清楚了,part6是讲套接字的。
老子开始做网络游戏服务器的时候,怕是你们还不知道做游戏是什么东西吧,靠。

服务器讲究的是什么?有一点就是compatibility,你们随便找个有名点的服务器软件,数据库之类的,比如说postgre-sql之类的,看看他们的代码,都有跨平台的支持。就说你上头讲的那些游戏的服务器,你拿到LINUX下用GNU C/C++,一般都可以编译的,之所以编译成WIN32版本的私服,就是为了给你们用的。

不知道就不知道,又不怪你,靠,还瞎J8在这里几几歪歪的。

1

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2004-6-3 15:29:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

不仅没有文化,还没有素质!传2的delphi代码你也可以到linux下的GCC下给老子编译一下试试。老子玩linux时,还不知道你在干啥!

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-6-3 15:37:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

。。。。。真是没话说了。
那么多好的,优秀的GNU的服务器软件不学,拿个垃圾传奇当宝贝,日。

9

主题

121

帖子

121

积分

注册会员

Rank: 2

积分
121
QQ
发表于 2004-6-8 14:26:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

怎么都吵起来了~~心平气和一点

1

主题

66

帖子

78

积分

注册会员

Rank: 2

积分
78
发表于 2004-6-9 11:16:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

windows下用IOCP没错

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-6-9 12:56:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

口胡~ xb_luotuo你还远未够班呀
别的不说了。。。。既然你这么有文化,知道delphi代码不能用gnu c/c++编译,想必你也知道宝蓝在卖一个叫kylix的产品吧?

另外tarkey回答那段话的前半段是举出为什么他说在linux下socket比windows sockte快的理由,后半段大概是顺便回答前面的人提出为什么好几个游戏服务器可以在NT下面跑,前半段才是主题亚,如果你非要抓住“GCC不能编译Delphi程序”这句话胡搅蛮缠,偷换主题,那只能说明你比较无赖亚

9

主题

121

帖子

121

积分

注册会员

Rank: 2

积分
121
QQ
发表于 2004-6-10 11:20:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

我现在写的服务器端用的IOCP,之所以用它是听说好多游戏都开始用,我是菜鸟,不知道linux下如何使用IOCP,也请各位老大不要骂我,菜就是菜

12

主题

95

帖子

251

积分

中级会员

Rank: 3Rank: 3

积分
251
发表于 2004-6-10 12:44:00 | 显示全部楼层

Re: Re:为什么许多游戏都直接用Socket进行网络传输,而不用

tarkey: Re:为什么许多游戏都直接用Socket进行网络传输,而不用DirectPlay。

靠,没文化就算了,还他妈的几几歪歪的。
http://www-900.ibm.com/developerWorks/cn/linux/sdk/rt/part6/...

我看了看此片文章,觉得有些疑问:
   首先此文讨论的是基于Berkeley 样式的套接字,也就是UNIX通用的方式。使用WSA的方法和不用没什么区别,微软一贯对别人的标准只是兼容,但绝谈不上效率,这点一直以来都是如此。而Linux却不同,效率上差别大也是理所当然。
   再者笔者也说明了,此次测试只是在基于Berkeley 样式的套接字上完成的,对windows来说可以不是很公平,windows在方面的强项重叠和IOCP根本没有使用,在巨量模型下,恐怕Linux还是有它的不足之处的。
   另外:开发游戏需要了解的是网络通讯的底层原理,才能更有效的对巨量模型进行优化处理。决不是靠一种平台就能做到的。
   

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-6-10 13:34:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

严重同意楼上的。
但是,我也想说两句,WINDOWS下的IOCP和重叠模型实际上并不是系统级的实现,而是基于Berkeley Socket来实现的,也就是说,socket的速度,实际上已经从底层上限制了WINDOWS SOCKET的performance。

另外,LINUX下也是支持IOCP的,而且很早的时候就开始支持了,但是之所以很少人用是因为在LINUX下创建线程的负担和WINDOWS下比起来也高很多,因为LINUX下的线程一直都是用进程模拟出来的。当然,现在的内核是否开始全面支持hyperthreading我不知道。

在LINUX下用得最多的网络模型应该是单进程select了。

9

主题

121

帖子

121

积分

注册会员

Rank: 2

积分
121
QQ
发表于 2004-6-11 10:21:00 | 显示全部楼层

Re:为什么许多游戏都直接用Socket进行网络传输,而不用Dir

明白楼上的了,也就是说,如的果我用IOCP巨量socket方式写服务器,还是很难说linux和win哪个效率更高,linux下berkeley的吞吐效率要高一些,而win下对线程的处理开销要小一些。如果用单进程select在linux下有巨大优势,如果用IOCP还是在win下好一些。因为进程的开销也是一个无法回避的现实。在网络方面我还是小白,也是上个月才开始看socket,多写各位大哥指点.我现在写的服务器是基于IOCP的,用我的pc(xp)在局域网开到1000个socket外加100个npc还没有出现问题,能够实现简单的人物走动.这个程度我想自己玩玩也就够了^-^向楼上各位学习。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-1 20:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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