草庐IT

ZMQ_STREAM

全部标签

scala - 通过 akka-stream 作为客户端读取 TCP

我是akka-stream的新手,正在尝试将该库用作客户端以从远程TCP服务器套接字读取(并且仅读取)。但是我的尝试失败了,因为没有传入的ByteStrings正在被处理。都不是:Source.empty[ByteString].via(Tcp().outgoingConnection(address,port)).to(Sink.foreach(println(_))).run()也不是:valconnection=Tcp().outgoingConnection(address,port)valsink=Flow[ByteString].via(Framing.delimiter(

c# - "IOException:invalid stream header: 00010000"在 TCP 上从 C# 主机向 Java 客户端获取数据时

我是套接字的新手,使用C#主机和Java/Android客户端处理一个项目。我需要通过TCP套接字不断地从主机获取数据到客户端。在使用DataInputStream或ObjectInputStream获取数据时,我遇到了同样的问题“无效的流header”。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Net.Sockets;usingSystem.Net;usingSystem.Runtime.Serialization.Formatters.Binary;usingPacketAndr

java - Spring 集成版本 3.0 : Splitting TCP stream message into multiple Messages based on content

我正在使用spring集成框架连接到一些遗留服务器套接字。下面是我的客户端工厂和适配器:在流到字符串转换器的下方:下面的部分是空的,因为我不确定在这里要实现什么,以便它可以调用我的路由器,而路由器将完成它的业务。我已经尝试使用拆分器,它确实有效,如果流以“ABCDEFGHWXYZ”或“ABCD”的所需格式出现,但如果流以“ABCDXXXXEFGHWXYZ”的形式出现,则它会失败。期望的结果是它应该处理3条消息和1个错误。但它处理了1条消息,其余的都被忽略了。下面的代码:和MessageSpliterBean类如下:@SplitterpublicList>splitMessage(Mes

scala - 将 TCP 服务器的输出捕获到 Akka Stream 队列的最推荐方法是什么?

我正在试验AkkaStreams,以期准确了解应该如何使用TCP服务器从客户端接收的内容(服务器不需要响应客户端)。这是一个标准的TCP服务器实现(在应用我从@heiko-seeberger的简洁解释here中理解的内容之后):defrunServer(system:ActorSystem,address:String,port:Int,collectingSink:Sink[ByteString,NotUsed]):Unit={implicitvalsys=systemimportsystem.dispatcherimplicitvalmaterializer=ActorMateri

python - 使用 ZMQ 时,从 Ubuntu 16.04 到 Windows 7 的出站 TCP 流量被阻止

我在服务器和用Python编写的客户端之间有一个ZeroMQPUB/SUB连接。服务器发送消息,客户端打印出来。这些程序在同一台计算机上运行良好(Ubuntu16.04或Windows7;都可以运行)。当服务器在Windows7机器上并且客户端在Ubuntu16.04机器上时,它们也可以工作。但是,如果服务器在Ubuntu16.04机器上,则Windows7机器上的客户端无法连接到它。此外,当我在两台独立的Windows7机器之间移动客户端和服务器程序时,也没有通信问题。有人知道问题出在哪里吗?这是客户端代码:#BasedoncodefoundonthisStackOverflowpo

Perl IO::Socket::INET + IO::Async::Stream 断开连接时重新连接到 TCP 服务器

对于我来说,我似乎无法弄清楚如何在断开连接后重新连接标准TCP套接字连接,尤其是在IO::Async::Loop的上下文中一些基础知识:#!/usr/bin/perlusestrict;usewarnings;useSocket;useIO::Async::Loop;useIO::Async::Stream;useIO::Socket;useTime::HiResqw(usleep);#standardeventloopmy$loop=IO::Async::Loop->new;#notificationservicesocketconnection;weonlywriteoutgoin

tcp - 使用 ZeroMQ ZMQ_STREAM 作为 tcp 客户端。为什么我会收到额外的信息?

我有一个使用ZeroMQ做各种事情的应用程序,我还想将它用作其他外部连接的tcp客户端。目前,如果外部tcp-server发送数据,客户端会收到5字节id、0字节、5字节,然后是实际消息。如何让ZeroMQ不发送这些东西?#include#include#include#include#include#include#includeintmain(){void*mpSocketContext=zmq_ctx_new();/*CreateZMQ_STREAMsocket*/void*mpSerialSocket=zmq_socket(mpSocketContext,ZMQ_STREAM)

c++ - 如何接受 boost::asio::ssl::stream<boost::asio::ip::tcp::socket> 作为 boost::asio::ip::tcp::socket 类型的参数

我试图调整Boost文档中的SSL服务器示例here但我想制作一个应用程序,您可以在其中使用普通boost::asio::ip::tcp::socket或SSL套接字,但我还没有找到将两者传递给voiddo_something_with_socket(boost::asio::ip::tcp::socket&sock)之类的函数的好方法因为SSL套接字不是从原始TCP套接字继承的。我唯一能想到的就是到处使用模板,但我想知道是否有更好的方法来做到这一点?谢谢。编辑:我查看了boost::asio::ssl::stream的成员我找到了next_layer()是boost::asio::i

node.js - ZMQ 发布/订阅订阅

关于ZMQ的发布/订阅功能,我无法弄清楚如何订阅一个特别的“channel”。这是发布者:varzmq=require('zmq');varpub=zmq.socket('pub');pub.bindSync('tcp://127.0.0.1:5555');setInterval(function(){pub.send('pubmsg');},500);这是订阅者:varsub=zmq.socket('sub');sub.connect('tcp://127.0.0.1:5555');sub.subscribe('');//hereinliesthequestionsub.on('me

c# - 令人沮丧的 TCP 序列化异常 : Binary stream '0' does not contain a valid BinaryHeader

我在howtosendlargeobjectsoverTCP上发布了一个问题似乎主要问题已解决,但现在经常我得到另一个异常:Binarystream'0'doesnotcontainavalidBinaryHeader.Possiblecausesareinvalidstreamorobjectversionchangebetweenserializationanddeserialization.问题仍然在我的Receive方法中:publicMessageReceive(){if(_tcpClient==null||!_tcpClient.Connected){thrownewTra