问题标签 [remote-actors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1154 浏览

scala - 如何发现一个 Scala 远程演员死了?

在 Scala 中,当另一个(远程)actor 终止时,可以通过设置 trapExit 标志并以第二个 actor 作为参数调用 link() 方法来通知一个 actor。在这种情况下,当远程参与者通过调用 exit() 结束其工作时,第一个参与者通过接收退出消息得到通知。

但是当远程参与者以不那么优雅的方式终止时会发生什么(例如,它正在运行的 VM 崩溃)?换句话说,本地参与者如何发现远程参与者不再可用?当然,我希望(如果可能的话)可以通过类似于退出消息的消息通知本地参与者,但这似乎不可行。我错过了什么吗?我应该不断地轮询远程参与者的状态(在这种情况下,我不知道哪种方法是最好的方法)还是有更聪明的解决方案?

0 投票
1 回答
942 浏览

scala - Scala 服务器需要管理许多客户端

我们需要使用 Scala RemotActors 创建一个可以处理多个客户端的服务器。例如,聊天服务器将收到的每条消息回复给所有连接的客户端。我们目前的尝试是为每个客户端创建一个可以侦听和回复所有接收到的消息的参与者。但是演员的动态注册不起作用。

0 投票
1 回答
4172 浏览

scala - scala类序列化,无法修复SerialVersionUID

我目前正在测试远程参与者在 Android 和 Windows 之间进行通信。Actors 远程发送不同的类,我在其中设置了 serialVersionUID。

这是我的序列化类的代码:

问题是远程演员调试说不兼容的类有问题:

为什么我的 SerialVersionUID 对编译器无关紧要?

如何修复serialVersionUID?或者也许还有另一个问题?

谢谢

0 投票
1 回答
1505 浏览

actor - How to implement authentication using remote actors?

I'm working on a card game and it seems like actors - specifically remote actors - would be a good fit. I'm having trouble figuring out how to implement the notion of logging in using remote actors. If a player starts up a fat client and enters a username and password, what should happen next? Should the client:

  • have a User remote actor where some state changes to represent a successful login?
  • call a method on an Authentication remote actor and get back a handle to a logged in User remote actor?
  • something else entirely?

I'm also wondering how this would fit in with reconnecting after a network issue.

0 投票
1 回答
357 浏览

scala - 回复不会发送回“客户端”-actor

使用远程演员时,我有一个意外的行为。我有一个服务器和一个“客户端”。客户端向服务器参与者发送消息,服务器进行回复。当我使用'?操作员一切都按预期工作。我从服务器得到答案。

服务器:

客户端:

现在我更改了代码,使客户成为演员,只对答案做出反应。但是,不是回复不会发送回客户端。相反,在服务器上创建了一个“ClientActor”实例并将回复发送到那里?

修改后的客户端:

我错过了什么?这是 Akka 的预期行为吗?我怎样才能强迫它把答案发回给客户?

感谢您的任何意见。

0 投票
1 回答
435 浏览

scala - 在没有未来/询问的情况下使用 RemoteActor

我想从客户端的 Actor 异步发送消息(!)并从服务器向 Actor 返回一条消息。关键是我不想使用 (?) 并获得 Future。

我有以下示例代码:

此代码失败并出现以下跟踪:

这似乎应该可以做到。是吗?

0 投票
2 回答
2616 浏览

java - 运行 Scala jar 文件时出现 NoClassDefFoundError

我有一个带有 RemoteActors 的小应用程序,我想从中制作一个 jar 文件。当我尝试执行它时,会出现以下异常:

我在我的 jar 文件中包含了 scala-library.jar,它位于类路径中。否则 java 将停止寻找类ScalaObject

0 投票
1 回答
294 浏览

scala - 在 Scala 中扩展抽象远程 Actor 和模式匹配(ClassLoading?)

我正在实现一些扩展 Actor 并提供一些额外功能的抽象类 [1]。但是,模式匹配似乎在接收语句中不起作用。如果我将一个案例对象Connect从客户端发送到服务器,并且在服务器中具有以下形式的模式匹配:

然后输出是

Connect即使 getClass 说它是,传入的消息也不会被识别为模式匹配中的对象。更奇怪的是:m具有与 相同的 hashCode ,并使用andConnect序列化为完全相同,但不等于它(使用)。我最好的猜测是类加载器在某种程度上表现不正确,但我不知所措。ByteArrayObjectOutputStreamwriteObject==

这是我正在尝试编写的更完整示例:

这是一个使用示例:

当我运行这个程序时,输出如上。Connect远程接收的消息MyWorker未被 的 act 方法中的模式匹配识别MyMaster。即使getClass.toString对它们进行相同的评估,它们在某种程度上也不相同。我怎样才能解决这个问题?

[1] 更多细节:我正在为跨大量节点的某种并行计算实现一个框架。在更复杂的情况下,我实际上想ConnectionTestParallelComputation[Data, Result]whereDataResultare 类型参数替换。消息还将包括依赖于这些参数的类,例如

理想情况下,我想要一个与这种设计模式配合得很好的解决方案。

0 投票
1 回答
223 浏览

scala - Scala RemoteActor 多个网络接口

方法alive(port)inRemoteActor不以 IP 地址为参数。

它在内部构造一个TcpService对象,该对象通过调用InetAddress.getLocalHost().getHostAddress()返回第一个可用接口的 IP 的 Java 来分配 IP 地址。

这会导致具有多个网络接口的机器出现问题,因为它可能会返回错误的 IP 地址。

有没有办法克服这个问题。

谢谢。

0 投票
1 回答
8020 浏览

scala - 演员名称不是唯一的 InvalidActorNameException

我的环境是eclipse、play、akka、scala。尝试创建远程主 akka 演员时出现错误。

我不确定为什么会收到此错误:

[InvalidActorNameException:演员名称你好不是唯一的!]

当用户提交表单时,calculate调用:

这是我创建演员的代码

我也只创建了这个演员的一个实例,并尝试了许多其他名称,例如masterMastermaster1983274612987346198356

Master定义为:

演员系统是:

其中remotecreation定义为: