使用 Lidgren 从二进制文件中保存的包创建 NetIncomingMessage
Creating a NetIncomingMessage with Lidgren from saved package in a binary file
我正在使用 Lidgren 网络库创建实时多人游戏。
我想做的是,将所有传入的包(包括所有字节)保存到二进制文件中的对等点。稍后当我需要调试一些奇怪的网络行为时,我可以加载这个文件并让它加载所有(或重建)它保存的包,顺序。这样,我就可以准确地找到奇怪的行为是如何发生的。
我的问题是,当我从文件加载它时如何重新创建它?
这是一个我需要重新创建的 NetIncomingMessage,我想,到目前为止,我想要么重新创建它,要么向自己发送一个 NetOutgoingMessage,所以它希望能达到我想要的相同效果,如果第一种方法失败。
我解决这个问题的方法是创建一个 NetIncomingMessage 的接口(包装对象),它在其他数据成员中包含一个数据字节数组,然后有一个线程根据保存的传入来填充这些对象的列表时间,从另一个线程请求和删除(出队)。
参见 https://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem
我正在使用 Lidgren 网络库创建实时多人游戏。
我想做的是,将所有传入的包(包括所有字节)保存到二进制文件中的对等点。稍后当我需要调试一些奇怪的网络行为时,我可以加载这个文件并让它加载所有(或重建)它保存的包,顺序。这样,我就可以准确地找到奇怪的行为是如何发生的。
我的问题是,当我从文件加载它时如何重新创建它?
这是一个我需要重新创建的 NetIncomingMessage,我想,到目前为止,我想要么重新创建它,要么向自己发送一个 NetOutgoingMessage,所以它希望能达到我想要的相同效果,如果第一种方法失败。
我解决这个问题的方法是创建一个 NetIncomingMessage 的接口(包装对象),它在其他数据成员中包含一个数据字节数组,然后有一个线程根据保存的传入来填充这些对象的列表时间,从另一个线程请求和删除(出队)。 参见 https://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem