繁体   English   中英

实现 Sockets 的好方法是什么?

[英]What is a good way to implement Sockets?

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

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

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

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

提前致谢。

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

Assuming your JSON structures are different for different purposes, and complex enough to need different classes to represent them, I like the idea of the JSON having a parameter that identifies the class to which it belongs, after which you can hand off parsing to a class即理解指定的 output。 Then a class can read the JSON, get the type, and some the specific parsing routine can go from there to an object created for the purpose.

我也看不出动作字符串有什么问题; 毕竟,它对于 Swing 和其他一些 UI 来说已经足够好了。 而不是分支到 function,再次取决于复杂性,您可以拥有全部实现接口的操作类,并且操作“动词”可以告诉您哪个(例如 map)来获取和执行“ performAction()' 方法或任何你想调用的方法。

我不知道从快速描述中这有多清楚; 如果您关心它,愿意在 SO 聊天室中谈论它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM