0

我正在使用 Lidgren 网络库来创建实时多人游戏。

我想要做的是,将所有传入的包(包括所有字节)保存到二进制文件中的对等点。稍后当我需要调试一些奇怪的网络行为时,我可以加载这个文件并让它依次加载所有(或重建)它保存的包。这样,我可以找到奇怪的行为是如何发生的。

我的问题是,当我从文件中加载这个包时,如何重新创建它?

这是我需要重新创建的 NetIncomingMessage,我假设,到目前为止,我想要么重新创建它,要么向自己发送一个 NetOutgoingMessage,所以如果第一种方法失败,它希望能达到我想要达到的效果。

4

1 回答 1

0

我解决这个问题的方法是创建 NetIncomingMessage 的接口(包装对象),其中包含其他数据成员中的数据字节数组,然后有一个线程根据保存的传入时间填充这些对象的列表,这是请求并从另一个线程中删除(出队)。见https://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem

于 2016-02-25T15:39:12.507 回答