繁体   English   中英

Java TCP服务器-客户端设计解决方案

[英]Java TCP Server-Client Design Solution

我正在开发一个高度面向对象的解决方案(即,我希望尽可能少的耦合,大量的可重用性和模块化代码,良好的设计模式使用,简洁的代码等)。 我目前正在实现该应用程序的客户端-服务器方面,这是我的新手。 我知道如何使用套接字,以及如何发送和接收流。 但是,我不确定实际上如何设计我的解决方案。

TCP Java解决方案有哪些模式(如果有)? 我将通过网络发送大量序列化的对象,如何处理不同的请求/对象? 实际上,我如何处理请求本身? 我是否将要发送的每个对象包装在另一个对象中,然后当对象到达时我将其解析为“命令/请求”,然后相应地处理其中包含的对象? 我正在努力的就是这种总体设计。

在线上的所有教程似乎都是沼泽标准的回显服务器,可以将客户端发送的文本发回。 这些仅在了解实际套接字时有用,而在应用于实际情况时则无用。 很多案例陈述和if陈述似乎发展不佳。 有任何想法吗? 在此阶段,我宁愿不使用框架。

干杯,

蒂姆。

考虑使用比TCP / IP更高级别的协议,不要重新发明轮子。 rmi是一个不错的选择,您应该可以找到关于它的不错的教程。

我建议您要么使用RMI,要么对其进行详细研究,以便可以确定如何以不同的方式进行操作。 建议您至少与RMI一起玩,看看它如何工作,然后再尝试自己做。

如果高性能和低延迟不是主要要求,则只需使用现有解决方案即可。 而且,如果您决定使用rmi而不是考虑将J2EE与EJB一起使用-它会为您提供基于rmi的事务管理。

否则,如果您需要极低的延迟,请查看在tcp之上使用自定义协议的现有解决方案的来源。 例如,OpenChord发送序列化的Request和Response对象,而Voldemort项目使用自定义消息进行少量操作。

暂无
暂无

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

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