gpt4 book ai didi

Java套接字编程: Dealing with multiple types of messages

转载 作者:行者123 更新时间:2023-12-01 16:38:11 24 4
gpt4 key购买 nike

我正在开发一个简单的多播网络程序,只是对最适合客户端/服务器或客户端/客户端网络的最佳类结构和 OOD 模式感到好奇。我的困境是,我将通过数据报发送不同类型的消息,而接收者只会看到一堆字节传入它们。现在,我已经实现了一种“ID”占位符作为所有字节数组的第一个字节,以区分包含“hello world”的消息和包含用户坐标的消息。唯一的选择似乎是根据“ID”的内容在我的“接收”方法中包含大量 case 语句,但这似乎是不好的做法。只是寻找利用 Java 的 OOD 模式和全面的良好编码实践的想法。

顺便说一句(我认为这有点相关......)使用对象流对我来说会有优势吗?在我看来,我仍然会立即检查所有进来的东西。谢谢!

最佳答案

有几种可能性,但是Strategy Pattern似乎最符合要求。

在您的情况下,我将创建一个至少包含两种方法的接口(interface),一种方法用于确定该类是否可以处理该消息(这将检查您的 ID 位),另一种方法用于实际处理该消息。然后为每种类型的消息创建一个单独的消息处理类。

然后,您的传入消息处理程序将具有这些消息处理对象的集合或列表(通常每个对象都是不同的类,但所有对象都实现该接口(interface))。当接收到消息时,消息处理程序将迭代消息处理对象,直到找到可以处理该消息的对象,如果没有消息处理程序可以处理该消息,则会给出错误。

关于Java套接字编程: Dealing with multiple types of messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7052279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com