草庐IT

delphi-2009

全部标签

delphi - IndyTCP delphi对象数组交换

对不起,我知道我问了太多问题,但明天(实际上是今天,因为在我的国家现在是凌晨2:00)我需要向我的老师展示我开始制作的东西等。因此,正如我在之前的问题中所问的那样,我需要从服务器向客户端发送一些数据。但是在memo1.Lines.Add(IntToStr(arrOf[1]));之后服务器的备忘录字段中没有任何内容我试着在客户端发送它procedureTForm1.btnTestClick(Sender:TObject);varmsRecInfo:TMemoryStream;arrOf:arrayofinteger;i:integer;beginsetLength(arrOf,11);f

delphi - 使用 Indy 创建 TCP TUNNELING 系统

您好,是否可以创建充当tcp代理服务器的中间应用程序?它将由两个组件组成。IdTCPServer和IdTCPClient。想法是:Application>连接到IdTCPServer>所有数据都被重定向到>IdTCPClient连接到目标。并且TCPClient收到的数据会重定向到IdTCPServer和Application。我做了这么简单的应用程序,它在HTTP请求中工作,但是当我尝试将它用于RDP客户端时它失败了(我收到协议(protocol)错误的错误消息)。有可能吗?我使用ReadByte方法,每个字节都发送到另一个IOHandler。我想创建某种允许通过NAT连接的虚拟TC

Delphi:(Indy)发送一个标题 Record 后跟一个文件

我目前正在尝试使用Indy在TCP之上编写自定义的更高级别的协议(protocol)。本质上,我想发送一条记录(使用流),但这条记录可以指示后面的x个字节将是一个图像文件。因此,当服务器收到记录时,如果它的内容表明它后面有图像,则需要将记录和图像数据分开。varSegment:TDPPSegment;Segment2:TDPPSegment;Buffer:TIdBytes;Buffer2:TIdBytes;Mem:TMemoryStream;beginif(Client.Connected)thenbeginSegment.NameStr:='Adrian';Segment2.Name

delphi - 从 ServerSocket 获取连接 ID

我需要从ServerSocket获取连接ID。我通过客户端发送文本,我需要知道哪个客户端发送了文本。有什么想法吗?? 最佳答案 procedureTf_serveur.ServerSocket1ClientRead(Sender:TObject;Socket:TCustomWinSocket);beginMemo1.Lines.Add(Socket.RemoteAddress+'\>'+Socket.ReceiveText);``//Socket.RemoteAddressistheclientip//Socket.RemoteHo

delphi - Indy、发送线程和销毁的上下文

我使用Indy的TIdTCPServer(D2009,Indy10)与客户端应用程序通信。在OnExecute方法中,我创建了一个任务并将其排队。工作线程执行任务并将其放入发送队列。然后发送队列将响应发送到客户端。在发送线程中,我循环遍历服务器的上下文列表并查找与任务中存储的IP和端口信息相匹配的上下文。然后执行一些有时会引发访问冲突的发送命令(我猜上下文在发送过程中被破坏)。现在问题来了:如何确保在发送响应之前上下文没有关闭?Indy是否可以从单独的线程发送,或者一切都应该在Indy线程中完成? 最佳答案 您可以尝试在发送数据时保

delphi tserversocket 忽略第一条消息

请告知为什么会这样。在一个简单的示例服务器应用程序上,我有以下代码:procedureTForm13.ServerSocket1ClientRead(Sender:TObject;Socket:TCustomWinSocket);varstr:string;beginstr:=socket.ReceiveText;showmessage(str);end;在客户端我有clientsocket1.Open;clientsocket1.Socket.SendText(txtMSG.Text);没什么好看的。奇怪的是,当我第一次向服务器发送消息时,它被忽略了。之后每次都很好用。ClientR

delphi - TCP IP 客户端服务器应用程序如何使其工作并使其成为多线程

您好,我有来自此链接的代码HowtocontinuouslysendmessageswithTIdTCPServer?但我无法让它发挥作用。我想要同时接受客户端的多威胁服务器。代码在这里:unitUnitClientServer;interfaceusesIdCustomTCPServer,IdTCPClient,IdContext,SysUtils,Classes,Forms,StdCtrls,Controls,System.Actions,Vcl.ActnList;typeTMyPushClientThread=class(TThread)privateTCPClient:TIdT

delphi - 同一应用程序上的多个 TIdCmdTCPServers

我正在开发一个包含许多客户端请求的服务器。根据请求的类型,我想为每种类型的请求使用单独的TIdCmdTCPServer。事实上,它是一个会计软件,我想用一个单独的TIdCmdTCPServer将每个服务分开,例如一个用于会计,另一个用于库存,等等。每个TIdCmdTCPServer都有自己的一组命令处理程序,并将监听自己的端口,但所有这些都将在同一IP上激活并在同一应用程序中运行。这种方法的缺点是什么?我可以使用由所有TIdCmdTCPServer共享的单个TSchedulerThreadPool吗?或者我应该为每个使用单独的TSchedulerThreadPool吗?

Delphi Indy - 如何为 Indy 10 的 SSL-TCP 客户端/服务器链接获取 SSL 证书

我对SSL和这些加密的东西完全陌生,但我需要让在移动设备上运行的客户端和服务器DelphiXE6应用程序进行通信。必须对TCP通信进行安全加密。首先,我简单地编写了基于Win32客户端和服务器交换字符串的Delphi/IndyTIdTCPServer/TIdTCPClient。(出自SourceForge上的indy10clieservr演示:svn://svn.code.sf.net/p/indy10clieservr/code/1_sampleSimpleStringExchange)我试图通过在服务器上添加TIdServerIOHandlerSSLOpenSSL组件和在客户端上添

delphi - THttpClient 没有在 Delphi 中关闭连接

我的软件包含以下用于发布到URL的功能。我正在使用SysinternalsTCPView查看连接。发布到URL后连接未关闭。我应该如何更改立即关闭连接的代码?functionPostURL(constAURL:string;Parameters:TStrings):string;varHttpClient:THttpClient;HttpResponse:IHttpResponse;beginHttpClient:=THTTPClient.Create;tryHttpClient.ConnectionTimeout:=3000;HttpClient.ResponseTimeout:=3