TCP / IP等套接字应该保存在单独的类中吗? (JAVA)

时间:2012-03-26 07:35:32

标签: java class sockets tcp distributed

我认为我不需要发布我的代码(有很多代码),但如果有提示我很高兴。

我正在用Java创建一个分布式赛车游戏,目前有JFrame,JPanel和Car类。我正在寻找实现下一阶段的最佳方式,即分布式部分 - 我使用TCP / IP而不是UDP,因为这基本上是需求的一部分,所以没有必要对此进行评论。

所以我在质疑客户端和服务器套接字,流和缓冲读卡器等。

因为,我想你可以说,最好的做法 - 我想知道我是否应该通过将所有内容与主要内容分开来实现优雅和可扩展性等。

1 个答案:

答案 0 :(得分:3)

一般而言,您希望使用OO来分离关注点。这意味着您需要在几个可管理的块中划分需要完成的任务。然后,您决定为每个块提供一个干净易懂的接口,它隐藏了与该类用户无关的实现细节。

在你的情况下,推理可能会是这样的(但这完全取决于你的问题)。

  1. 一个类处理连接/断开连接并返回一个表示发送或接收的消息的简单对象。这个类对通过线路发送的内容一无所知,但它知道如何建立连接以及如何处理断开连接。
  2. 行中的下一个类将简单的消息对象转换为有用的对象,并使用易于处理的便捷方法。
  3. 另一个类负责使这些对象生效。
  4. 当然,当其中一项任务变得太大时,您可以进一步分解它们。

    在大多数情况下,这将导致一个对象管理一个套接字。