实现套接字的好方法是什么?



亲爱的stackoverflow社区。 目前,我正在做一个项目。此项目应具有连接到它的服务器和客户端。由于它们的简单性,我想使用Java的集成ServerSockets和Sockets。

在我的项目中,数据应从客户端发送到服务器,反之亦然。

我最初的想法是只发送 JSON,然后将其解析为接收器并从中获取数据。 不过我有点不确定,因为JSON不是集成到Java中的东西,而是来自Java脚本。另外,我目前正在使用多线程套接字服务器,所以我有一个客户端处理程序线程类。在该类中,消息被接收、解析,"action"参数从 JSON 中读出,然后我做了一个包含多个操作及其函数的 switch 语句。我也不认为这是一个好方法。

所以,我的问题是: 我怎样才能做得更好,也许我必须使用其他东西?

提前谢谢。

确实,JSON是从JavaScript发展而来的,但它本身就是一种合理的定义语言,我认为你没有任何理由不应该使用它。有用于解析它的库,因此您不必这样做。

假设您的 JSON 结构出于不同的目的而不同,并且足够复杂以至于需要不同的类来表示它们,我喜欢 JSON 具有标识其所属类的参数的想法,之后您可以将解析交给理解指定输出的类。然后,一个类可以读取 JSON,获取类型,并且一些特定的解析例程可以从那里转到为此目的创建的对象。

我也不认为动作字符串有什么问题;毕竟,它对于 Swing 和其他一些 UI 来说已经足够好了。与其分支到一个函数,再次取决于复杂性,你可以让所有操作类都实现一个接口,动作"verb"可以告诉你哪一个(比如说从映射中?(获取并执行"performAction(("方法或任何你想调用它的东西。

我不知道从快速描述中可以清楚地看到这一点;如果您关心它,愿意在SO聊天室中聊天。

最新更新