怎样实现局域网内实现多个主机同时显示相同的三维场景?
就象当初的红警和星际这样的游戏是那样实现互连!
单指局域网内,每个单机上运行的程序,可以创建一个主机。然后局域网类的运行同样机器的主机可以加入这个主机。然后进行游戏。
现在我仅仅只需要实现,局域网内的台机器能够同时显示一个三维场景,并且同步更新,然后任意一台机器发送更新指令,所有的机器实现更新场景,实现多台机器同步的动态漫游。
我该如何设计,并且采用什么样的技术途径。
我现在的想法就是:
1)写一个程序,不分客户端和服务器端。创建主机的就是服务器端,其他都是客户端。
2)利用最原始的聊天程序类似的通讯机制,一个用于管理连接的Listen Socket 连接以后的Client Socket。然后由服务器端传递更新的场景视点信息进行更新
3)问题:我是否需要线程池进行随时线程等待。避免不同步!
问题点数:0、回复次数:5Top
1 楼gcz5212314(孤独一剑)回复于 2004-05-04 13:07:52 得分 0
用DirectPlay吧Top
2 楼DarthVader(mm咋就那么白呢 唉 还是当黑炭吧)回复于 2004-05-04 15:51:21 得分 0
组播 或者你去看一个叫NDK的开发包Top
3 楼Tonyfengliang(烂泥)回复于 2004-05-09 19:50:48 得分 0
能不能介绍一下Directplay?Top
4 楼kofightas(追求代码的优雅)回复于 2004-05-09 22:21:32 得分 0
不要用dplay
用winsock就行,用udp通讯。
把每帧的数据封包,然后用sendto()传送就行了。当然要加上反馈和应答机制,最好对数据校验和加密。
如果对性能要求高的话必然要线程池的。否则WSAselect()模型是最简单易用的。
顺便求数据封包的代码,我最近也在做联网游戏,正为数据传送头痛呢。Top
5 楼Tonyfengliang(烂泥)回复于 2004-07-12 17:17:29 得分 0
有没有详细一点.
网络游戏开发的机制介绍啊!Top




