2012-07-27 55 views
0

我想构建一个聊天应用程序,并且对决定是使用套接字还是使用RMI构建应用程序感到困惑。我听说RMI很难通过互联网进行配置和部署,因为这是我的意图,我想知道什么更合适,套接字或RMI。由于套接字或RMI中的NAT,解决问题更容易吗?聊天应用程序,套接字与RMI

如果我想在稍后的时间添加语音支持怎么办?它有助于决定走哪条路?

+0

插座。我有一个样品,如果你愿意的话。只需一个简单的用户名命令行聊天。 – 2012-07-27 17:46:27

+1

套接字在Java中简单易用,并且坚持使用它们。 – Shark 2012-07-27 17:47:33

+0

感谢亨利,但我主要是为了学习,所以会尝试从头开始构建它,但如果将来我可以问你任何问题。 – comatose 2012-07-27 17:54:00

回答

2

对于像聊天信使应用,我赌注将是Sockets.

2.RMI将是一个过在这里杀死

此外NAT问题SocketRMI其约静态IP。

4.如果你想在网络中部署一个聊天服务器,然后首先你必须有一个静态IP,你需要有要求你的ISP的额外费用为您提供他们中的一个,或者互联网上有网站,这会使您的动态IPS成为静态。

5.但是,如果你的服务器是位于本地的局域网环境中,那么我认为你不会做这件事有问题。

1

这两个都是可以用来构建聊天服务器/客户端的合理选择。可以设置一个套接字来接收传入连接,并为每个“chatter”启动一个新线程。RMI可以用来创建一个客户端可以调用方法的分布式对象。

RMI基本上是分布式计算中经常使用的套接字层,需要一些透明性并需要调用远程方法。它也允许无状态连接到服务器。

如果您选择在RMI中实施服务器,只需要警告线程安全可能成为问题。

对于本地服务器,它可能更容易使用纯套接字。

有关RMI的更多详细信息: http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html

+0

无论如何,线程安全是服务器中的一个问题。 RMI没有增加任何东西,也没有带走任何东西。 – EJP 2012-07-30 09:53:17

相关问题