有什么好的方法来实现Socket?

问题描述 投票:0回答:1

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

在我的项目中,数据将从客户端发送到服务器和相反的地方。

我最初的想法是只发送JSON,然后将其解析为接收器,并从中获取数据,虽然我有点不确定,因为JSON不是集成在Java中的东西,而是来自Java脚本。另外,我目前使用的是一个多线程-Socket-Server,所以我有一个ClientHandler Thread类。在该类中,消息被接收、解析,"动作 "参数被从JSON中读出,然后我用多个动作及其函数做了一个开关语句。我觉得这也不是一个好办法。

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

先谢谢你了。

java sockets tcp serversocket
1个回答
1
投票

的确,JSON是从JavaScript发展而来的,但它本身就是一种合理的定义语言,我看不出你有什么理由不使用它。有用于解析它的库,所以你不必这样做。

假设你的JSON结构因为不同的目的而不同,而且复杂到需要不同的类来表示,我喜欢这样的想法:JSON有一个参数,标识它所属的类,之后你可以把解析工作交给一个理解指定输出的类。然后一个类可以读取JSON,得到类型,一些特定的解析例程可以从那里到一个为此目的创建的对象。

我也不觉得动作字符串有什么不妥,毕竟它在Swing和其他一些UI中的作用已经足够好了。与其说是分支到一个函数,不如说是根据复杂程度,你可以有一个动作类,它们都实现了一个接口,动作 "动词 "可以告诉你,要在哪一个(比如说,在一个地图中)获取并执行 "executeAction() "方法,或者你想叫它什么。

我不知道从快速的描述中能看清楚这个问题,如果你关心这个问题,愿意在SO聊天室里聊一聊。

© www.soinside.com 2019 - 2024. All rights reserved.