有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java实现socket的好方法是什么?

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

在我的项目中,数据应该从客户端发送到服务器和另一方

我最初的想法是发送JSON,然后将其解析为接收方,并从中获取数据。 不过我有点不确定,因为JSON不是集成到Java中的东西,而是来自Java脚本。此外,我目前正在使用一个多线程socket服务器,所以我有一个ClientHandler线程类。在这个类中,接收、解析消息,并从JSON中读取“action”参数,然后我用多个操作及其函数编写了一个switch语句。我也不认为这是个好办法

所以,我的问题是: 我怎样才能做得更好,也许我还需要用别的东西吗

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    JSON确实源于JavaScript,但它本身就是一种合理的定义语言,我看不出有任何理由不应该使用它。有一些库可以解析它,所以你不必这么做

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

    我也看不出动作串有什么问题;毕竟,对于Swing和其他一些UI来说,它已经足够好了。根据复杂度的不同,您可以使用所有实现了接口的动作类,而动作“动词”可以告诉您是哪一个(比如说,从映射中)获取并执行“performAction()”方法或任何您想调用的方法

    我不知道从一个简单的描述来看这有多清楚;如果你在乎的话,我愿意在聊天室里聊一聊