问题标签 [akka-io]

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 投票
1 回答
3405 浏览

scala - Akka TCP 客户端:如何使用 akka actor 通过 TCP 发送消息

我想通过 TCP 发送文本消息。相当容易。我想用akka这样做。我读了这篇关于 akka IO 的文章:http: //doc.akka.io/docs/akka/snapshot/scala/io-tcp.html

这篇文章介绍了一个 TCP 客户端的简单实现,但我不清楚我将如何使用这个客户端。

  1. 构造函数接受一个 InetSocketAddress 和一个 ActorRef。InetSocketAddress 是有道理的(我假设这是目的地)但是 ActorRef 是什么?这是我第一次使用akka,但据我了解,ActorRef 是另一个演员的参考。由于我的 TCP 客户端是一个参与者,并且我希望这个 TCP 参与者与 TCP 服务器通信,而不是与另一个参与者通信,我为什么要给它一个参与者参考?

  2. 伴生对象中的道具功能是什么?

  3. 一旦实例化,我将如何使用这个演员来发送 TCP 消息?我应该只向它发送一条消息,其中包含我想以 ByteString 形式发送的数据吗?

4. 有什么联系/区别

0 投票
0 回答
227 浏览

scala - 带有 SSL 的 Akka.io.TCP

我正在实现一个协议的客户端(通过 TCP),它正在使用 akka.io.TCP 与服务器通信。根据此服务器的配置方式,它可能支持也可能不支持 SSL。

要确定它是否支持 SSL,首先将纯文本消息发送到服务器(类似于“SslSupported”的内容)。然后,服务器将使用单个字符消息“Y”/“N”进行响应。如果是,则应启动 SSL 握手并加密会话的其余部分。到目前为止,我已经实现了服务器回复“N”时的协议。

目前,我有一些类似的东西(请注意,这远非完整的代码):

我将如何启动 SSL 握手并随后确保所有后续消息都已加密?

0 投票
1 回答
100 浏览

akka.net - System.TypeLoadException:无法实例化传输 [Akka.Remote.AkkaIOTransport.AkkaIOTransport,Akka.Remote.AkkaIOTransport]。

我在按照本教程尝试 AKKA.NET IO 时遇到了这个错误:

http://getakka.net/docs/IO#akka-io

我收到此错误:

0 投票
1 回答
99 浏览

python - 字节串到普通字符。python的struct.pack

我有这个生成字节的python代码

我正在使用 akka io 侦听生成此数据的端口。我得到这样的数据:

我有几个问题: 1. 如何将这些字节解码为普通字符?我尝试:

2. !QH%dsdI 是什么?struct.pack 是如何工作的?我不知道蟒蛇

0 投票
1 回答
467 浏览

scala - 使用 Akka IO 通过 Tcp 客户端发送非字节字符串

我正在使用 akka-io 创建一个通过套接字与非 jvm tcp(非 akka)服务器通信的 Tcp 客户端 Actor。因为 akka-io 发送ByteString并且程序期望定期String输出给它,所以ByteString消息永远不会被处理。一个非常粗糙的基于java的方法实际上是有效的:

我能够向 tcp 端口发送消息并收到回复。

但是,这种 akka-io 方法不起作用。具体来说,我从不从套接字接收数据,因为外部应用程序无法处理对象ByteString发送的数据Write

我还创建了自己的 akka-IO 服务器应用程序,该应用程序在同一端口上处理数据并验证我实际上是在向该端口发送消息,但是需要 akka 服务器参与者来处理ByteString

我希望这是一些我忽略的简单修复。

0 投票
1 回答
60 浏览

java - Akka 和用 Future 观察变量

Tcp.OuttgoingConnection 从混音器收集数据并异步发送到处理数据的 sourceQueue。

发出命令后,不能保证下一位数据是响应。我如何反馈响应?

一种“肮脏”的方式是有一个静态变量,当使用线程暂停处理时我将数据放入其中以等待它,但这非常低效。是否有一个 akka 机制可以观察一个值的变化并给出一个 Future?

这是当前代码:

0 投票
1 回答
114 浏览

scala - Akka Stream, Tcp().bind, 客户端关闭套接字时的处理

我是 Akka Stream 的新手,我想了解如何为我的项目处理 TCP 套接字。我从Akka Stream 官方文档中获取了这段代码。

如果我使用 netcat 从终端连接,我可以看到 Akka Stream TCP 套接字按预期工作。我还发现如果我需要使用用户消息关闭连接,我可以使用takeWhile如下

我找不到的是如何管理由CMD + C操作关闭的套接字。PeerCloseAkka Stream 内部使用 Akka.io 管理 TCP 连接,因此它必须在套接字关闭时发送一些消息。所以,我对 Akka.io 的理解告诉我,我应该收到来自套接字关闭的反馈,但我找不到如何使用 Akka Stream 来做到这一点。有没有办法管理它?

0 投票
0 回答
46 浏览

java - Akka 流:意外完成的 tcp 流

我使用 akka-stream-typed 创建了一个双向 tcp 流。

因为我需要一个双向套接字(它发送和接收字节),所以我必须创建一个源引用。

此流程工作正常,但是当创建的套接字数超过 1000 时,一些套接字往往会意外完成,而没有来自套接字所有者的信号已发送。

关于原因的任何线索?