问题标签 [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.
scala - 使用 Akka-IO TCP 初始化 akka actor
使用 Akka-IO TCP,在 actor 中建立连接的过程如下:
您发送一条Connect
消息IO(Tcp)
并期望收到一条CommandFailed
或一条Connected
消息。
现在,我的目标是创建一个包装 TCP 连接的参与者,但我希望我的参与者仅在建立连接后才开始接受消息 - 否则,在等待Connected
消息时它将开始接受查询但没有人可以发送他们到。
我尝试了什么:
我的第一个receive
是期待一条Initialize
会触发整个连接过程的虚构消息,一旦完成,发送者就会Initialize
收到一条成功消息并且知道它可以知道开始发送查询。
我对它不是很满意,它迫使我创造我的演员
而且它不会非常“重启”友好。
有什么想法可以保证我的演员在 Tcp 层回复之前不会开始从邮箱接收消息Connected
吗?
akka - 如何使用 Akka IO(Http) 获得高出站并发
鉴于:
如果我这样做:
我希望代码会触发 25 个异步请求。相反,会发生四个请求。他们等待回应。当对所有 4 个的响应都返回时,再发送 4 个,直到所有 25 个都被处理。
我尝试使用 Spray 的配置进行调整以创建自定义调度程序,但这没有效果......
如何配置 Akka/Spray 以异步发送所有 25 个请求?
使用:Akka 2.2.3、Spray 1.2.0
scala - 为什么使用 Akka TCP 1 分钟后连接会自动关闭?
我正在使用 Scala 和 Akka 演员编写一个 Interactive Broker API。
我有一个客户端参与者,它连接到服务器并与 IO 管理器通信以发送请求并接收来自 TWS 的响应。连接工作正常,我能够发送请求并获得响应。
然后我会在 1 分钟后自动收到来自 IO 管理器的 PeerClosed 消息。我希望连接保持打开状态,除非我明确关闭它。我试图设置keepOpenOnPeerClosed = true
,但它没有任何改变。
这是演员:
如果我使用 IBJts API 连接(使用标准 Java 套接字),我没有相同的行为
scala - 您可以刷新或重新显示未刷新的 telnet 输入吗?
我正在编写一个老式的基于文本的 telnet 服务器,现在它是一个在 Scala 中具有基于 Akka actor 的 IO 的美化聊天室。正在发生的事情是客户端将开始输入某些内容,然后会发生一个事件,当它被写入时,它会清除任何已经输入的内容。在以下示例中,Tom 开始输入“说你好吗?” 但是 Fred 在他只输入了“say How ar”之后就到达了,并且这个输入被清除了:
有什么方法可以让 telnet 重新显示它尚未刷新的输出缓冲区?
这是服务器:
这是 ConnectionHandler,它是伴随对象,以及它使用的消息案例类:
java - 管道是否从 akka i/o 中删除?
在学习如何使用 akka I/OI 时,我试图在 akka i/o 之上实现一个简单的协议,并遵循此处的文档。
但是在我的 gradle 文件中,我使用 2.3.9 版本,如下所示
导入一些特定于管道的东西,比如
generate 无法解决符号错误。
因此我的问题。
- 是这些被删除还是我需要添加到我的 gradle 文件中的一些依赖项。
- 如果它们被删除,编码/解码阶段将如何处理?
scala - 带 TLS 的 Akka 2.4 TCP
我试图弄清楚如何将 TLS(或 SSL)与 Akka IO 一起使用。我意识到管道的东西已经从 Akka 中删除了。他们提到他们将在 Akka 的 2.4 版本中提供一些闪亮和新的东西,但我在文档中看不到任何内容,也找不到任何示例。
如何为 Akka Tcp 服务器启用 TLS?
谢谢!
akka - 在 Akka 集群中发送大消息(> 200MB)
我必须在 akka-cluster 中从一个参与者向多个参与者发送大小约为 200MB 的大消息。我曾尝试使用 akka 消息传递,但它会超时,因为它需要很长时间。
实现这一点的最佳方法是什么?我在某处读到我们需要使用 Akka IO 来完成此类任务,但我找不到足够的文档来说明如何使用它。
scala - 来自 ByteString 的反序列化案例类
我使用以下方式发送案例类:
然后我收到:
有没有简单的方法来匹配 MyCaseClass 上的数据而不使用低级 java 序列化程序?
akka - 如何使用 Tcp 增加 Akka IO 中的 Tcp Chunk 大小
我正在使用 Akka-Cluster 并通过 Tcp 使用 Akka IO 通过网络发送大型对象。数据被切割成非常小的块。通过 'Received' 消息接收到的数据 ByteString 的大小非常小(大约 7KB)。是否有任何配置设置可以让我一次发送和接收更大的字节字符串?
scala - 将数据从演员流式传输到播放结果
我有数据以块的形式到达演员,并希望将这些块作为流返回Play Result
。由于获得响应的唯一方法Ok.stream
看起来像是理想的候选人,因此如下所示:
我会Enumerator[Array[Byte]]
从我的演员那里返回一个,然后在演员内部继续将块推入枚举器,因为消息到达演员。然而:从一个演员返回一个可变的枚举器绝对看起来像是某种违反。
有没有更合适的方法来做到这一点?我想要么akka-stream
或akka.io
将是可能解决问题空间的抽象,但我看不出它们将如何应用。