草庐IT

非连续性

全部标签

c# - TCP/IP 在不关闭连接的情况下连续接收消息

我一直在观看以下关于如何创建TCP/IP连接的视频:Server和Client我需要做的是创建一个游戏(flipcard),在其中我只为矩阵发送2个坐标。而已。或更少。(接下来是代码)据我观察,他每次发送消息时都会关闭并重新打开连接。它的工作。但是,我如何修改代码以保持连接打开并检测消息何时到达?我所有的谷歌搜索都让我找到了这两种方法:Ihavehadluckusingthesocketobjectdirectly(ratherthantheTCPclient).(但我不想使用套接字)Alsousessockets当我点击启动服务器时privatevoidbStartServer_Cl

node.js - 你如何解码 Node 中的连续比特流?

我正在尝试实现thisprotocol使用TCP。其中大部分作为Buffer接收,可以使用.toString('hex')很好地读取,但是AVL部分提到“使用连续比特流编码。最后一个字节填充以对齐字节边界”,其中数据似乎以我无法正确阅读的不同方式进行编码。我应该如何阅读连续比特流部分?非常感谢! 最佳答案 您必须发送您在使用连续比特流编码的4字节缓冲区中读取的记录数的整数值:constbuffer=Buffer.alloc(4);buffer.writeIntBE([INT_VALUE],0,4);

c# - 连续调用 NetworkStream.Write - 它有什么不同吗?

考虑以下两种发送数据的方法和一种读取数据的方法:publicstaticvoidSendConsecutively(thisNetworkStreamstream){byte[]header={1,2,3,4};byte[]message={5,6,7,8,9,10};stream.Write(header,0,header.Length);stream.Write(message,0,message.Length);}publicstaticvoidSendAllInOne(thisNetworkStreamstream){byte[]headerAndMessage={1,2,3,

VB.NET如何连续读取TCP流

早上好经过多次折腾,我终于让我的小TCP监听器应用程序连接到我的服务器并监听流量。我能够连接并从端口获得初始响应,但是它不会持续返回流流量,我需要持续监控端口流量,以便我可以有效地将其发布到数据库中,谁能帮我解决这个问题我会循环这个吗?这是我目前的代码:ImportsSystemImportsSystem.NetImportsSystem.Net.SocketsImportsSystem.Runtime.InteropServices'DllImportImportsSystem.Security.Principal'WindowsImpersonationContextImports

php - TCP套接字连接是否适合连续套接字打开/关闭

我正在做一个项目,我需要每5分钟发送一次数据(不多,一次大约300B(+-100))。一侧是带有apache2服务器的树莓派和一个用作TCP套接字服务器的附加PHP脚本。在另一端,有多个客户端连接到TCP套接字服务器。服务器建立连接,它们交换数据,然后关闭套接字。每个客户端每5分钟发生一次(因此,如果我有100个客户端,套接字将每分钟打开和关闭20次)。这是处理此类连接的好方法,还是我应该以某种不同的方式来处理?PHP脚本可以吗? 最佳答案 它要么是这个,要么连接每个客户端一次并保持连接有效。使用您指定的数字都是有效的选择,但套接字

c# - iOS 连续 TCP 请求失败

我目前正在开发一个使用CFStream与C#服务器通信的iOS应用程序。通过此连接发送1个TCP数据包会完成它应该做的事情。但是,如果我尝试发送两个数据包,它们都会失败。服务器被设计成异步的,就像here一样。.iOS端是使用CFStream类设计的,如this中所述教程。为什么会发生这种情况,我该如何解决?非常感谢所有帮助!编辑:我刚刚尝试用Python服务器替换C#服务器,系统运行完美,这暗示问题出在服务器端。也许服务器在收到第一个数据包后不小心关闭了连接? 最佳答案 首先确定是谁在关闭TCP套接字。运行Wireshark在服务

tcp - 在连续丢弃 SYN 数据包的情况下,最大重试次数是多少?

有一种产品(将保持未命名)存在特殊功能/问题。如果过载,它将丢弃新的SYN数据包。这对某些人来说似乎并非不合理。这在别人看来可能是不可想象的。无论如何。上游TCP客户端在放弃之前会重试发送SYN多少次?这个数字是基于RFC或标准还是只是行业规范?SCTP和INIT怎么样? 最佳答案 默认的TCP连接超时是您问题的基本主题,在客户端取决于平台,大约一分钟左右。这被编码到connect()中系统调用使用8、16、32秒的超时重试3次,具体取决于实现。在故障返回connect()之前,TCP堆栈也可能会进行自己的重试。功能,所以在最终EC

delphi - Indy 服务器 TIdTCPServer.OnExecute 在客户端断开连接后连续调用

我知道我希望从客户端获得多少字节(在此代码中为100)。如果客户端不给我100,我根本不需要这个数据包,因为它已损坏。我遇到客户端提供少于100个字节并断开连接的情况。在这种情况下,我正在捕获异常并且一切都会好起来的,除了在这个异常之后我的ServerTCPExecute被不连续地调用了很多次。没有任何其他客户端连接。为什么会这样?如果我执行TIdYarnOfThread(AContext.Yarn).Thread.Terminate;一切正常。但我不确定这是好的解决方案。procedureForm1.ServerTCPExecute(AContext:TIdContext);begi

c++ - boost::asio 数据包顺序和连续性

我正在使用boost::asio::ip::tcp::socket在客户端/服务器应用程序中发送和接收数据。我使用简单的自制数据包,其中包含包含数据包大小的header以及一些标志和“真实”数据。我使用boost::asio::write发送数据包。在某些情况下,我有很多数据包要发送给一个客户端。天真的最快的选择是一次发送它们。例如async_write(socket,buffer(p[0].str(),p[0].size()),&callback);async_write(socket,buffer(p[1].str(),p[1].size()),&callback);async_w

STM32 SD-FatFS连续写入数据无效与解决方法 文档空白解决方法

STM32SD-FatFS连续写入数据无效与解决方法文档空白解决方法引言:STM32下位机做毕设遇到这个问题,用FatFS对SD卡多次连续写入的时候,SD卡中内容是空的,或者是看不见的字符。我将遇到的问题和解决方法总结一下。项目解决方法—f_printf()四连前言:刚开始尝试f_write()来写入,但总会出现各类问题,例如只写入一行数据、只有空文档、只有隐藏字符等问题。解决:如果只需要写入一次数据,或者传感器采集所有数据后一次性写入,那么f_write()和f_printf()都可以,直接f_printf()+f_close()就可以;多次写入就涉及指针偏移问题,需要使用f_lseek()