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

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

这两个问题现在让我无法下手,请各位多提想法,或许我的从一开始就想的不对,请大家不吝赐教!!
...全文
194 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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来做服务器。

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧