Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 聊天应用程序、套接字与RMI_Java_Sockets_Rmi - Fatal编程技术网

Java 聊天应用程序、套接字与RMI

Java 聊天应用程序、套接字与RMI,java,sockets,rmi,Java,Sockets,Rmi,我想构建一个聊天应用程序,但在决定是使用套接字还是RMI构建应用程序时感到困惑。我听说RMI很难在Internet上配置和部署,因为这是我的意图,我想知道什么更适合使用,套接字还是RMI。由于套接字中的NAT或RMI,解决问题是否更容易 如果我想在以后添加语音支持,它是否有助于决定采用哪种方式呢?这两种方式都是可以用来构建聊天服务器/客户端的合理选择。可以设置套接字来获取传入连接,并为每个“聊天”启动一个新线程。或者,可以使用RMI创建一个分布式对象,客户机可以在该对象上调用方法 RMI基本上是

我想构建一个聊天应用程序,但在决定是使用套接字还是RMI构建应用程序时感到困惑。我听说RMI很难在Internet上配置和部署,因为这是我的意图,我想知道什么更适合使用,套接字还是RMI。由于套接字中的NAT或RMI,解决问题是否更容易


如果我想在以后添加语音支持,它是否有助于决定采用哪种方式呢?

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

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

如果您选择在RMI中实现服务器,请注意线程安全可能是一个问题

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

有关RMI的更多详细信息:

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

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

如果您选择在RMI中实现服务器,请注意线程安全可能是一个问题

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

有关RMI的更多详细信息:
1.对于像聊天信使这样的应用程序,我的赌注将放在
套接字上。

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

3.此外
NAT
问题是关于
Socket
RMI
关于静态IP。

4.如果你想通过网络部署聊天服务器,那么首先你必须拥有一个静态IP,你需要要求你的ISP以额外费用为你提供其中一个,或者通过internet上的站点,使你的动态IP成为静态的。


5。但如果您的服务器位于局域网环境中,那么我认为您在执行此操作时不会遇到问题。
1。对于像聊天信使这样的应用程序,我的赌注将放在
套接字上。

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

3.此外
NAT
问题是关于
Socket
RMI
关于静态IP。

4.如果你想通过网络部署聊天服务器,那么首先你必须拥有一个静态IP,你需要要求你的ISP以额外费用为你提供其中一个,或者通过internet上的站点,使你的动态IP成为静态的。


5。但如果您的服务器位于局域网环境中,那么我认为您在执行此操作时不会遇到问题。

套接字。如果你愿意,我有一个样品。只需使用用户名进行简单的命令行聊天。Socket在Java中非常简单,请坚持使用。谢谢Henry,但我这么做主要是为了学习,所以我将尝试从头开始构建它,但如果将来有任何问题,我都可以问你。@comatose这正是我所做的。:)当然可以如果你需要,打电话给我。我会先使用命令行,然后再使用GUI我相信你不知道RMI的力量。有关您的信息,请使用回调套接字。如果你愿意,我有一个样品。只需使用用户名进行简单的命令行聊天。Socket在Java中非常简单,请坚持使用。谢谢Henry,但我这么做主要是为了学习,所以我将尝试从头开始构建它,但如果将来有任何问题,我都可以问你。@comatose这正是我所做的。:)当然可以如果你需要,打电话给我。我会先使用命令行,然后再使用GUI我相信你不知道RMI的力量。请注意,无论如何,在服务器中使用callbackstread安全是一个问题。RMI并没有增加任何东西,也并没有减少任何东西。无论如何,线程安全是服务器中的一个问题。RMI没有增加任何东西,也没有从中带走任何东西。