indy10 服务端如何向客户端发送数据
indy10 服务端如何向客户端发送数据
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdTCPConnection, IdTCPClient, IdBaseComponent,
IdComponent, IdTCPServer, IdContext;
type
TForm1 = class(TForm)
IdTCPServer1: TIdTCPServer;
IdTCPClient1: TIdTCPClient;
ServerLog: TMemo;
ClientLog: TMemo;
Button2: TButton;
Button3: TButton;
Button1: TButton;
Button4: TButton;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure IdTCPServer1Connect(AContext: TIdContext);
procedure IdTCPServer1Disconnect(AContext: TIdContext);
procedure IdTCPServer1Execute(AContext: TIdContext);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
IdTCPServer1.Active :=True;
Button2.Enabled :=false;
ServerLog.Lines.Add('服务器开启成功');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
try
IdTCPClient1.Connect;
if IdTCPClient1.Connected then
ClientLog.Lines.Add('连接成功');
Button3.Enabled :=false;
except
ClientLog.Lines.Add('连接失败')
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//初始化服务端 添加bindings
IdTCPServer1.Bindings.Add.IP := '127.0.0.1';
IdTCPServer1.Bindings.Add.Port := 7956;
//初始化客户端
IdTCPClient1.Host :='127.0.0.1';
IdTCPClient1.Port :=7956;
end;
procedure TForm1.IdTCPServer1Connect(AContext: TIdContext);
begin
ServerLog.Lines.Add('有客户连接!ip:'+AContext.Binding.PeerIP+'port:'+inttostr(AContext.Binding.PeerPort));
end;
procedure TForm1.IdTCPServer1Disconnect(AContext: TIdContext);
begin
//ServerLog.Lines.Add('有客户断开连接!ip:'+AContext.Binding.PeerIP+'port:'+inttostr(AContext.Binding.PeerPort));
end;
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
a:string;
begin
a:=AContext.Connection.IOHandler.ReadLn;
ServerLog.Lines.Add(a);
AContext.Connection.Socket.WriteLn('123');
AContext.Connection.IOHandler.WriteLn('abc');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPClient1.Disconnect;
Button1.Enabled :=False;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
IdTCPClient1.IOHandler.WriteLn('aa');
end;
end.
...全文
相关推荐
Indy10 TIdTCPCLient/TIdTCPServer应用实例
Indy10 TIdTCPCLient与TIdTCPServer应用,该Demo含服务器端和客户端
Delphi XE10.2 TCP/IP服务端与客户端程序开发实战
Delphi XE10.2 是Embarcadero公司推出的一款强大的集成开发环境(IDE),提供了一套完整的开发工具,用于快速构建高性能的多平台应用程序。在本章,我们将介绍Delphi XE10.2 IDE的基本功能和界面布局,并探讨TCP/IP通信的基础知识。TCP/IP(传输控制协议/互联网协议)是一组用于互联网数据交换的协议,是所有网络通信的基础。我们将通过TCP/IP的介绍,为理解后续章节中的网络编程打下坚实的基础。
IdHttp服务端和客户端.rar
客户端和服务端,来传递数据,其中 服务端有IdHttpserver服务,客户端传递数据给服务端。服务端接收数据,并插入到sqlserver数据库中。
Delphi XE10.2 TCPIP服务端及客户端程序
自己的TCP/IP测试程序,Delphi XE10.2下可用,TCP/IP服务端及客户端程序。
INDY 10 的idTCPSERVER 和idTCPCLIENT 通讯的例子
INDY 10 的idTCPSERVER 和idTCPCLIENT 通讯的例子


网络通信/分布式开发
