建议在IdTCPServer1Execute事件上添加一个IndySleep(Value)?如果是,您建议使用什么值?我问它是因为当许多客户端连接时我的IdTCPServer使用了太多的CPU。谢谢。 最佳答案 建议在IdTCPServer1Execute事件上添加一个IndySleep(Value)?是的如果是,您建议使用什么值?1000/(客户数量) 关于delphi-在IdTCPServer1Execute上使用IndySleep,我们在StackOverflow上找到一个类似的问
几周前我开始使用IndyTCPServer和TCPClient,现在,经过大量研究和SOF专家(特别是Lebeau先生)的帮助,我可以安全地管理客户端连接并向特定客户端发送字符串消息。这是一段代码:typeTClient=class(TObject)privateFHost:string;publicFQMsg:TIdThreadSafeStringList;//MessageQueueconstructorCreate(constHost:string);destructorDestroy;override;end;procedureTfrmMain.TCPServerExecute
我同时开发了两个软件。一个是iOS设备的TCP客户端,用XCode开发,另一个是Linux操作系统的TCP服务器,它是在Lazarus中开发的,使用Indy10作为网络框架。我可以在服务器和客户端之间毫无问题地发送数据,然而,从服务器到客户端的数据传输速度对我来说是个问题。当从iOS客户端向Linux服务器发送数据时,我获得了每秒高达20MB的非常好的传输速度,但是当从Linux服务器向iOS客户端发送数据时,我每秒最多只能获得一百千字节(100kb)。Indy10以1024字节block的形式发送数据,我可以使用NSLog()在我的iOS应用程序中看到这一点。问题:如何更改Indy1
我正在尝试使用Delphifiremonkey应用程序创建一个TCP服务器。我的资源文件Unit1.fmx如下。objectForm1:TForm1Left=0Top=0Caption='Form1'ClientHeight=480ClientWidth=640FormFactor.Width=320FormFactor.Height=480FormFactor.Devices=[Desktop]OnActivate=FormShowOnCreate=FormCreateDesignerMasterStyle=0objectLabel1:TLabelPosition.X=504.000
我正在尝试弄清楚如何使用远程控制台建立连接和身份验证。本维基Wiki1还有这个Wiki2告诉我我需要构建一个数据包并将其发送到RECON,但我不知道该怎么做......我是网络新手,但由于我在那里搜索,所以我构建了这个:procedureTForm1.Button1Click(Sender:TObject);beginIdTCPClient1.Host:='127.0.0.1';IdTCPClient1.Port:=20001;IdTCPClient1.Connect;IdTcpClient1.IOHandler.Writeln('1234');ShowMessage(IdTcpCli
使用Indy的TIdTCPServer组件,一个包被分两部分接收,但客户端发送了一个64KB的包。如何在服务器OnExecute事件中接收完整的包?现在我放了一个原型(prototype)(服务器和客户端)代码来重现这种情况。服务器代码procedureTFrmServer.IdTCPServer1Execute(AContext:TIdContext);VarReceivedBytesTCP:Integer;IBuf:TIdBytes;beginifNotAContext.Connection.IOHandler.InputBufferIsEmptythenBeginTryRecei
我正在创建一个仅在Windows操作系统上运行的客户端-服务器应用程序,每个Windows用户将一次连接到服务器。局域网使用DHCP,所以IP不固定。我需要将字符串消息从IdTCPServer发送到特定的IdTCPClient。一开始我使用的是列表框,所以我在连接时将主机名添加到列表框,在断开连接时将其删除。当时,RemyLebeau给了我这个提示:procedureTfrmMain.sendButtonClick(Sender:TObject);varIndex:Integer;Ctx:TIdContext;beginIndex:=ListBox.ItemIndex;ifIndex=
更新似乎这个问题不像我想的那样与Indy密切相关,更多的是关于多线程的主题。我不会100%相信这个问题。我有一个工作应用程序,它使用IndyTCP客户端与通信伙伴交换ascii字符串。通信流程如下所示:[IndyLevel]Sender发送字符串[TCP级别]Wireshark告知此数据包已交付给接收者[TCPLevel]接收方发送一个TCPACK来确认这个数据包[Indy关卡]recipient的IOHandler.ReadLn方法返回数据[IndyLevel]通过writeLn()向原始发送者发送逻辑确认最近我注意到在那个通信中有一个小问题,在摆弄了wireshark之后我得到了以
如何在delphitokyo10.2中为IdTCPServer分配IP地址?我搜索了很多网站,但没有找到我要找的东西。我正在使用以下代码:unitUnit1;interfaceusesWinapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,Vcl.Dialogs,IdContext,IdBaseComponent,IdComponent,IdCustomTCPServer,IdTCPServer,Vcl.StdCtr
我正在尝试使用Delphi7和Indy9制作一个通过TCP连接使用音频流的应用程序。更清楚地说,如何从客户端麦克风流式传输输入并将其发送到(TCP或HTTP服务器)?考虑实时。谢谢 最佳答案 我从来没有这样做过,但我认为你可以从基础开始......设置要使用的帧率,8000hz是不错的选择选择要从麦克风捕获的block大小(1024、2048、4096,等等)以shortint或float32(RAW音频)格式从麦克风捕获音频将这个block放在一个套接字缓冲区中,最好是UDP,然后发送到另一端通过UDP连接如果你在这个过程中循环,