想开发一个休闲游戏平台,碰到几个关键问题的,请大家多指教

zuolihua 2005-08-08 10:04:20
1是通信协议的选择,我想肯定是用UDP,因为客户端的数据量其实很小,并且没有连续性,而且很难想象为上千个客户端创建一个连接.但是用UDP的话,服务端一次只能接收一个包,数据是串行处理的,这样响应速度可能会让客户端很难忍受.
2是如果选择UDP协议的话,数据的可靠性传输的问题,我以前做的是让发送端重复发送,等待接收端回复确认消息来处理的,可是这样的话必须每次新建一个线程来处理重复发送,可是面对上千个客户端..

这两个问题现在让我无法下手,请各位多提想法,或许我的从一开始就想的不对,请大家不吝赐教!!
...全文
119 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Stroot_Zhang 2005-08-09
UP
回复
shxng 2005-08-09
友情up
回复
flashboy 2005-08-09
首先我认为真正意义上的并行处理是不存在的。就象你说的在TCP中并行,我想你是说的一连接一线程模式吧,其实这种效率并不高,大量的损耗在线程上下文切换上了。 而UDP也并不是完全的串行,也可以使用LF线程池模式来处理事务。 至于可靠性,那是肯定要单独一个线程的拉,不过你也别太悲观了,1个线程足够了。
回复
teli_eurydice 2005-08-08
up
回复
hsz8250 2005-08-08
其实用UDP做也可以啊~~
因为比较快,但是游戏服务器的逻辑底层一定要做好不同步的处理
回复
softrain 2005-08-08
建议用TCP+完成端口来做,可以认为服务器内存足够大CPU足够大。因为服务器可以扩充。
回复
zuolihua 2005-08-08
完成端口我不太熟悉,只是听说过,所以没有往这方面想,我去了解一下,谢谢楼上指教了
回复
dirdirdir3 2005-08-08
用完成端口、IOCP来做服务器。
回复
相关推荐
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2005-08-08 10:04
社区公告
暂无公告