草庐IT

STREAM_ALARM

全部标签

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

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

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

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

stream - 检测 TCP 流中的某个字符串(命令)

我正在TCP之上开发一个协议(protocol)。我想知道在这种情况下检测控制消息的最佳方法是什么。示例:客户端发送控制消息开始。服务器发送数据ABCD,然后发送控制消息END。客户端检测到END并关闭连接问题是“END”可能会被分割。所以客户可能最终会读到ABCDEN,然后是D。在这种情况下,检测控制消息“END”的最佳方法是什么?注意:服务器不知道它总共要发送多少字节! 最佳答案 TCP是一个字节流,它没有消息边界的概念,所以你必须在你的协议(protocol)中分隔你的消息。消息的接收者然后可以查找定界符以了解一条消息的结束位

php - 如何使 Php stream_socket 保持事件状态?

我有一个使用stream_socket_client()的Php应用程序,通过tcp从后端服务器获取数据,但我想保持连接活跃,或者在池中更好,或者避免连接/断开开销。但我不是Php高手,所以我不知道该怎么做。虽然我可能会在几个小时内弄清楚,但我的时间可能更适合花在征求每个人的意见上,所以有什么建议吗? 最佳答案 在创建流时设置STREAM_CLIENT_PERSISTENT标志可防止连接空闲。在内部,该标志使stream_socket_client()调用pfsockopen()(doc)而不是fsockopen()(doc)。连接

c# - Stream.Copy 是否通过管道传输?

假设我正在编写一个tcp代理代码。我正在从传入流中读取并写入输出流。我知道Stream.Copy使用缓冲区,但我的问题是:Stream.Copy方法是在从输入流中获取下一个block时写入输出流,还是像“从输入读取block,将block写入输出,从输入读取block等”这样的循环? 最佳答案 下面是.NET4.5中CopyTo的实现:privatevoidInternalCopyTo(Streamdestination,intbufferSize){intnum;byte[]buffer=newbyte[bufferSize];w

ios - WebRTC(iOS): local video is not getting stream on remote side

我正在尝试使用WebRTC制作一个带有音频、视频通话的应用。远程视频和音频在我的应用程序中正常工作,但我的本地流没有出现在客户端。这是我为添加视频轨道而写的letvideoSource=self.rtcPeerFactory.videoSource()letvideoCapturer=RTCCameraVideoCapturer(delegate:videoSource)guardletfrontCamera=(RTCCameraVideoCapturer.captureDevices().first{$0.position==.front}),//choosehighestresle