Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实现套接字的好方法是什么?_Java_Sockets_Tcp_Serversocket - Fatal编程技术网

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

Java 实现套接字的好方法是什么?,java,sockets,tcp,serversocket,Java,Sockets,Tcp,Serversocket,亲爱的stackoverflow社区。 目前,我正在做一个项目。该项目应有一台服务器和连接到该服务器的客户端。由于它们的简单性,我想使用Java的集成ServerSockets和Sockets 在我的项目中,数据应该从客户端发送到服务器和对方 我最初的想法是发送JSON,然后将其解析为接收方并从中获取数据。 不过我有点不确定,因为JSON不是集成到Java中的东西,而是来自Java脚本。另外,我目前正在使用一个多线程套接字服务器,所以我有一个ClientHandler线程类。在该类中,接收、解析

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

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

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

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


提前感谢。

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

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

我也不认为动作字符串有什么问题;毕竟,对于Swing和其他一些UI来说,这已经足够好了。根据复杂性,您可以使用所有实现接口的操作类,而不是扩展到函数,并且操作“动词”可以告诉您获取并执行“performAction()”方法的对象(例如,从映射中)或您想调用它的任何对象


我不知道从一个快速的描述来看这有多清楚;如果你关心它,我愿意在SO聊天室里谈论它。

我认为你应该使用JSON。毫无疑问,有一个Java实用程序类可以解析它。谢谢。对我来说,你解释得很清楚。另外,尽管你的提议很好,我真的认为我不需要谈论它,我认为我自己可以处理它。再次非常感谢埃米尔