【问题标题】:which one is best for chat applicaiton? socket programming vs rmi? [closed]哪一个最适合聊天应用程序?套接字编程与 rmi? [关闭]
【发布时间】:2012-05-07 16:03:28
【问题描述】:

我想创建一个基于客户端/服务器的聊天应用程序。 什么是最好的?使用套接字还是使用 rmi?

PS:可以用rmi创建聊天应用吗?

【问题讨论】:

  • 是的,这是可能的。阅读docs.oracle.com/javase/tutorial/rmi/index.html
  • 请将问题重新表述为不那么主观的问题。
  • 但是哪个最好?我希望它同时处理多个客户(例如聊天室)!
  • 如果您的服务器和客户端应用程序将使用 Java 制作,我建议使用 RMI,如果客户端(或可能其他客户端)将使用其他语言(如 C、C++ 或 C#)构建,请使用面向套接字
  • 您的目标网络是什么?局域网?互联网?代理/防火墙/网关后面的客户端?

标签: java sockets client-server rmi


【解决方案1】:

RMI 是一种在套接字之上工作的技术。它正在将苹果与橙子进行比较。套接字是处理网络通信的低级东西,而 RMI 是一种位于套接字之上的协议,以便可以在远程 JVM 上调用 java 方法。

【讨论】:

    【解决方案2】:

    在 Socket 编程中,您必须准确处理正在使用的套接字/端口,以及用于处理通信的相关协议(TCP 或 UDP)的低级别通信,用于客户端/服务器通信。您还可以处理在客户端和服务器之间传输的所有消息。

    您可以使用任何编程语言与套接字应用程序通信,因此用 Java 编写的套接字程序可以接受来自 Python、C/C++、Haskel 等的调用。

    另一方面,RMI 建立在套接字之上,它隐藏了大部分网络特定代码,您不必担心特定端口,但仍可以根据需要选择一个。 RMI 处理客户端和服务器之间的消息传递。 RMI 用于 Java 客户端/服务器应用程序之间的通信。

    【讨论】:

    • 谢谢! rmi 消息以什么协议进行通信?什么是存根?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 2015-06-28
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多