什么是实现套接字的好方法?
What is a good way to implement Sockets?
亲爱的 Whosebug 社区。
目前,我正在做一个项目。该项目应有一个服务器和连接到它的客户端。由于它们的简单性,我想使用 Java 的集成 ServerSockets 和套接字。
在我的项目中,数据是从客户端发送到服务器,对面
我最初的想法是只发送 JSON 然后将其解析为接收方并从中获取数据。
不过我对此有点不确定,因为 JSON 不是集成到 Java 中的东西,而是来自 Java 脚本。另外,我目前正在使用多线程套接字服务器,所以我有一个 ClientHandler 线程 class。在那个 class 中,消息被接收、解析并从 JSON 中读出 "action" 参数,然后我做了一个包含多个动作及其功能的 switch 语句。我认为这也不是一个好方法。
所以,我的问题是:
我怎样才能做得更好,也许我必须使用其他东西?
提前致谢。
JSON 确实是从 JavaScript 发展而来的,但它本身就是一种合理的定义语言,我看不出有任何理由不应该使用它。有用于解析它的库,因此您不必这样做。
假设您的 JSON 结构因不同的目的而不同,并且复杂到需要不同的 classes 来表示它们,我喜欢 JSON 有一个参数的想法标识它所属的 class,之后您可以将解析交给理解指定输出的 class。然后 class 可以读取 JSON,获取类型,一些特定的解析例程可以从那里转到为此目的创建的对象。
我也没有发现操作字符串有任何问题;毕竟,它对于 Swing 和其他一些 UI 来说已经足够好了。不再分支到一个函数,再次取决于复杂性,你可以让动作 classes 都实现了一个接口,而动作 'verb' 可以告诉你哪个(在地图之外,比方说? ) 获取并执行 'performAction()' 方法或任何你想调用的方法。
我不知道从简短的描述来看这有多清楚;如果你关心它,愿意在 SO 聊天室讨论它。
亲爱的 Whosebug 社区。 目前,我正在做一个项目。该项目应有一个服务器和连接到它的客户端。由于它们的简单性,我想使用 Java 的集成 ServerSockets 和套接字。
在我的项目中,数据是从客户端发送到服务器,对面
我最初的想法是只发送 JSON 然后将其解析为接收方并从中获取数据。 不过我对此有点不确定,因为 JSON 不是集成到 Java 中的东西,而是来自 Java 脚本。另外,我目前正在使用多线程套接字服务器,所以我有一个 ClientHandler 线程 class。在那个 class 中,消息被接收、解析并从 JSON 中读出 "action" 参数,然后我做了一个包含多个动作及其功能的 switch 语句。我认为这也不是一个好方法。
所以,我的问题是: 我怎样才能做得更好,也许我必须使用其他东西?
提前致谢。
JSON 确实是从 JavaScript 发展而来的,但它本身就是一种合理的定义语言,我看不出有任何理由不应该使用它。有用于解析它的库,因此您不必这样做。
假设您的 JSON 结构因不同的目的而不同,并且复杂到需要不同的 classes 来表示它们,我喜欢 JSON 有一个参数的想法标识它所属的 class,之后您可以将解析交给理解指定输出的 class。然后 class 可以读取 JSON,获取类型,一些特定的解析例程可以从那里转到为此目的创建的对象。
我也没有发现操作字符串有任何问题;毕竟,它对于 Swing 和其他一些 UI 来说已经足够好了。不再分支到一个函数,再次取决于复杂性,你可以让动作 classes 都实现了一个接口,而动作 'verb' 可以告诉你哪个(在地图之外,比方说? ) 获取并执行 'performAction()' 方法或任何你想调用的方法。
我不知道从简短的描述来看这有多清楚;如果你关心它,愿意在 SO 聊天室讨论它。