我正在试验AkkaStreams,以期准确了解应该如何使用TCP服务器从客户端接收的内容(服务器不需要响应客户端)。这是一个标准的TCP服务器实现(在应用我从@heiko-seeberger的简洁解释here中理解的内容之后):defrunServer(system:ActorSystem,address:String,port:Int,collectingSink:Sink[ByteString,NotUsed]):Unit={implicitvalsys=systemimportsystem.dispatcherimplicitvalmaterializer=ActorMateri
我正在使用akka-io创建一个通过套接字与非jvmtcp(非akka)服务器通信的Tcp客户端Actor。因为akka-io发送ByteString并且程序需要一个常规的String输出给它,所以永远不会处理ByteString消息。一种非常粗糙的基于Java的方法实际上有效:overridedefreceive:Receive={caseClientTcpActor.Start=>valsocket=newSocket(socketAddress.getHostName,socketAddress.getPort)valout=newPrintWriter(socket.getOu
我有2个应用程序,分别是app1和app2。在机器1上,app1和app2都在运行,但在机器2上只有app2运行,因为大部分工作都由app2完成。这些应用程序使用Akka。使用akkaremoting,我希望能够将消息从机器1上的app1传递到机器2上的app2。当app1和2在同一台机器上时,它们能够相互交互。但是,当机器1上的应用程序1尝试连接机器2上的应用程序2时,出现以下错误...EndpointWriter-AssociationError[akka.tcp://deal-rest@127.0.0.1:4242]->[akka.tcp://deal@:4241]:错误[无效地
我正在尝试创建两个绑定(bind)到同一端口的tcp连接。我收到一条错误消息,指出java.net.BindException:Addressalreadyinuse。这是有道理的,因为它们都使用18333作为端口,但必须有某种方式在具有唯一主机的端口上建立两个连接。我正在关注guideintheakkatcpmanual.我怎样才能使这项工作?该协议(protocol)规定需要在18333上创建连接,但是如果我一次只能有一个对等点,它会使协议(protocol)的p2p部分变得无用。代码如下:valprobe1=TestProbe()valprobe2=TestProbe()valc
我正在阅读有关UsingTCP的文档并尝试理解TCP从服务器接收数据是多么简单。让服务器向每个连接的客户端发送数据流。caseReceived(data)=>//dosomewithdata,wheredata:ByteString那么什么是数据。以字节为单位的数据大小是多少?我的意思是客户不断收到一些数据。每个这样的data包含多少字节?在哪里配置? 最佳答案 它是任意的,没有在任何地方配置。你得到了你还没有得到的任何东西,当它决定给你一些数据时,实现恰好必须给你。处理此类通知的典型方式如下:如果我们从上次通知中保存了任何数据,请
我对Akka2.4TCPAPI有疑问.我运行一个服务器,在AkkaTCP中有2个TCP服务器,一个用于传入客户端,一个用于我服务器的工作节点(在其他计算机/IP上)。我有一个到客户端的当前连接,一个到工作节点的连接。如果从客户端接收消息,我想将一些信息传递给工作节点,但是当我从运行客户端Akka的线程中代表工作节点连接时,我的TCPAkkaActor似乎并不喜欢Actor,向AkkaActor工作节点发送消息。因此,举个例子,如果客户端发送删除文件的消息,并且该文件上的分区在工作节点上,我想向该工作节点发送一条TCP消息,它应该删除分区。我如何从客户端Actor发送消息到工作节点Act
在当前的Akka文档中有一个niceexampleofcreatingaclientserverarchitecture.我正在创建一个可以在比特币协议(protocol)上发送和接收消息的Akkaactor。到目前为止,我已经能够发送消息并接收对我发送的消息的回复,但我无法按照对等协议(protocol)的要求接收未经请求的消息。我尝试使用Tcp.Bind和Tcp.Connect来监听端口18333上的未经请求的消息能够向网络上的对等方发送消息。但是,我遇到了这个问题,它会说端口已经绑定(bind)(通过Tcp.Connect事件)或者它无法从该端口发送消息(由于Tcp.Bind事件
早上好,我对TCP的基本akkaIO有疑问我有客户端和服务器的基本实现,如akka文档所示:Clientishttps://github.com/akka/akka/blob/v2.5.20/akka-docs/src/test/scala/docs/io/IODocSpec.scala#L67-L103Handler是[SimpleEchoHandler](https://github.com/akka/akka/blob/v2.5.20/akka-docs/src/test/scala/docs/io/EchoServer.scala#L227-L304)但其他的也一样。我有一个在
我注意到Akka2.3.2没有akka-remote-test-experiment。谁能向我建议如何解决这个问题:[ERROR][05/23/201412:33:38.765][Configurations-akka.actor.default-dispatcher-15][akka://Configurations/system/cluster/core/daemon/joinSeedNodeProcess-1]Notransportisloadedforprotocol:[akka],availableprotocols:[akka.tcp]akka.remote.RemoteT
我正在尝试使用akka设置一个简单的TCP服务器应该允许多个客户端同时连接的参与者。我将我的问题简化为以下简单程序:packageactorfailimportakka.actor._,akka.io._,akka.util._importscala.collection.mutable._importjava.net._caseclassFoo()classConnHandler(conn:ActorRef)extendsActor{defreceive={caseFoo()=>conn!Tcp.Write(ByteString("foo\n"))}}classServer(conn