我正在开发一个完全在单个网络中运行的.net解决方案。当用户对系统进行更改时,我希望启动一个公告,并让其他所有人都听到它并采取相应的行动。有没有一种方法可以让我们广播出这样的消息(就像UDP允许的那样),同时保持有保证的传输(比如TCP)?
这是在一个小网络上(30多个客户端),如果这会有所不同的话。
发布于 2008-08-28 07:16:35
几乎所有游戏都需要UDP的快速反应特性(以及较少的无连接特性)和TCP的可靠性。他们所做的就是在UDP之上建立自己的可靠协议。这使它们能够仅将包突发到任何地方,并可选地使其可靠。
可靠的分组系统通常是一个简单的重试直到确认的系统,比TCP更简单,但也有一些协议远远超出了TCP所能提供的范围。
你的情况听起来很简单。你也许能够自己做出最干净的解决方案--只要让每个客户发回一个“我听到了”的响应,然后让服务器继续尝试,直到它得到它(或者放弃)。
如果你想要更多的东西,大多数自定义协议库都在C++中,所以我不确定它们对你有多大的用处。然而,我在这里的知识是几年前的--也许现在已经移植了一些协议。嗯..。RakNet和enet是脑海中浮现的两个C/C++库。
发布于 2008-08-28 07:24:03
看看sctp,它结合了tcp和udp特性。有windows implementation可用。
发布于 2008-08-28 03:40:59
您可以使用Spread进行群组通信。
https://stackoverflow.com/questions/31572
复制相似问题