首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网络模式与非网络模式的区别

网络模式与非网络模式的区别
EN

Stack Overflow用户
提问于 2014-03-31 15:47:08
回答 1查看 306关注 0票数 0

在java中处理客户端服务器应用程序时,我很难理解网络模式和非网络模式术语之间的区别。

我知道如何开发简单的客户端服务器应用程序。例如,我可以创建客户机应用程序和服务器应用程序。这些应用程序可以通过套接字连接,并发送和接收数据。但是,当人们谈到在独立模式下运行服务器和客户机时,我会感到困惑,在这种模式下,客户机和服务器都使用相同的JVM实例,而不涉及回循环网络。我在java derby数据库中看到了这种情况。

因此,我的主要问题是,如何使用使用套接字进行通信的代码,并将其转换为使用所谓的“独立模式”,其中客户机和服务器作为一个应用程序运行?我将感谢任何评论,指出我正确的材料。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-31 15:53:13

在所谓的网络模式中,您必须连接到远程服务器,正如您所描述的,通常通过套接字,因此客户端要求服务器执行特定任务,服务器执行任务并响应客户端。

在这种模式下,客户端和服务器通常是不同的节点,即不同的机器,独立运行。

但是,如果您想在同一台机器上运行客户端和服务器,怎么办?即使在同一个虚拟机里?通过套接字让服务器做一些事情有意义吗?

这就像用Skype和坐在你身边的朋友聊天,简单地叫他去吃午饭。

因此,在理想情况下,您应该能够在非网络模式下运行您的应用程序。也就是说,您不需要遍历套接字,而是直接访问您的服务器对象,并要求它为您做一些事情。因为您的服务器对象与客户端位于同一个虚拟机中。

显然,为了能够做到这一点,您需要一个很好的设计,通过一个接口公开您的服务器功能,并且您的应用程序使用这个接口与服务器交互。在网络模式下运行时,可以使用此服务器接口的实现,该实现使用套接字(或RMI或任何用于网络通信的操作)。当您处于非网络模式时,您将得到服务器对象本身的实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22766135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档