DELPHI 7 ICS控件
来源:互联网 发布:cba数据 编辑:程序博客网 时间:2024/06/04 19:14
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, ExtCtrls, OverbyteIcsWndControl, OverbyteIcsWSocket,
- OverbyteIcsWSocketS;
- type
- TForm1 = class(TForm)
- WSocketServer1: TWSocketServer;
- WSocket1: TWSocket;
- Panel1: TPanel;
- Button1: TButton;
- Button2: TButton;
- Memo1: TMemo;
- Button3: TButton;
- Button4: TButton;
- Button5: TButton;
- Edit1: TEdit;
- procedure Button1Click(Sender: TObject);
- procedure WSocketServer1ClientConnect(Sender: TObject;
- Client: TWSocketClient; Error: Word);
- procedure WSocketServer1ClientDisconnect(Sender: TObject;
- Client: TWSocketClient; Error: Word);
- procedure Button2Click(Sender: TObject);
- procedure Button3Click(Sender: TObject);
- procedure Button4Click(Sender: TObject);
- procedure Button5Click(Sender: TObject);
- procedure WSocketServer1DataAvailable(Sender: TObject; ErrCode: Word);
- procedure WSocketServer1ChangeState(Sender: TObject; OldState,
- NewState: TSocketState);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.dfm}
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- //start listen...
- try
- WSocketServer1.Close;
- WSocketServer1.Addr :='127.0.0.1';
- WSocketServer1.Port :='6000';
- //WSocketServer1.Banner:='';
- //WSocketServer1.BannerTooBusy:='';
- //WSocketServer1.ClientClass := TWSocketClient;
- WSocketServer1.Listen;
- except
- end;
- end;
- procedure TForm1.WSocketServer1ClientConnect(Sender: TObject;
- Client: TWSocketClient; Error: Word);
- begin
- <span style="color:#FF0000;">//注意:ICS TCP SERVER收到客户端连接进,必须要将数据处理事件方法入口委托到给客户端Client的处理方法入口,否则无法响应收数据的事件。
- Client.OnDataAvailable := WSocketServer1DataAvailable;</span>
- Memo1.Lines.Add( Format('Client [%s:%s] Connected..',[ Client.GetPeerAddr,client.GetPeerPort]));
- end;
- procedure TForm1.WSocketServer1ClientDisconnect(Sender: TObject;
- Client: TWSocketClient; Error: Word);
- begin
- Memo1.Lines.Add( Format('Client [%s:%s] disConnected..',[ Client.GetPeerAddr,client.GetPeerPort]));
- end;
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- try
- WSocket1.Addr :='127.0.0.1';
- WSocket1.Port :='6000';
- WSocket1.Connect;
- except
- end;
- end;
- procedure TForm1.Button3Click(Sender: TObject);
- begin
- WSocket1.Close;
- end;
- procedure TForm1.Button4Click(Sender: TObject);
- begin
- WSocketServer1.Close;
- end;
- procedure TForm1.Button5Click(Sender: TObject);
- var i,sendlen:Integer; sendbuff:array[0..32] of byte; data:Pointer; str:string;
- begin
- if WSocket1.State = wsConnected then
- begin
- FillChar(sendbuff,33,0);
- str:='';
- for i:=0 to 31 do
- begin
- sendbuff[i] := Random(256) ;
- str := str +' '+inttohex( sendbuff[i] ,2);
- end;
- sendlen := 32;
- data := @sendbuff;
- WSocket1.Send( data, sendlen );
- Memo1.Lines.Add( Format('==>[%s:%s];Sendlen=%d; data:"%s"',
- [WSocket1.Addr,WSocket1.Port, sendlen, str]));
- end;
- end;
- procedure TForm1.WSocketServer1DataAvailable(Sender: TObject;
- ErrCode: Word);
- var
- buffer:array [0..1023] of Byte;
- recvLen:Integer;
- str,
- strData:string;i:Integer;
- client:TWSocketClient;
- readBuffer:Pointer;
- begin
- client := TWSocketClient(Sender);
- if Assigned( client ) then
- begin
- FillChar(buffer,1024,0);
- recvLen := client.RcvdCount;
- readBuffer := @buffer;
- recvLen := client.Receive( readBuffer, recvLen );
- //str := client.ReceiveStr;
- strData :='';str:='';
- for i:=0 to recvLen-1 do begin
- strData:=strdata+' '+inttohex( buffer[i], 2);
- str:=str+char( buffer[i] )
- end;
- Memo1.Lines.Add( Format('<==[%s:%s];RecvLen=%d; hex:"%s";data:"%s";',
- [client.GetPeerAddr,client.GetPeerPort,recvLen,trim(strdata),str]) );
- end;
- end;
- procedure TForm1.WSocketServer1ChangeState(Sender: TObject; OldState,
- NewState: TSocketState);
- begin
- case NewState of
- wsListening:
- begin
- Memo1.Lines.Add('TCP Server Start listening...')
- end;
- end;
- end;
- end.
阅读全文
0 0
- DELPHI 7 ICS控件
- Delphi 安装ICS
- delphi 安装ICS
- ICS - Delphi网络访问组件
- delphi ics中ftp的使用 请教?
- [ICS]2016.10.7
- Delphi 7学习开发控件
- delphi控件
- Delphi控件-复合控件
- Delphi 7学习开发控件(续)
- Windows 7 Wireless Hosted Network and ICS
- delphi的 ics的使用例子,ftp客户端上传的例子。
- Delphi 控件安装
- Sqlite 的Delphi控件
- delphi 控件的安装
- delphi控件安装方法
- Delphi自带控件
- Delphi控件篇
- Thinking in java个人笔记3
- 组合与继承之间选择
- MSB与LSB
- 回调函数和钩子函数的区别
- 敏感文件误上传到 Github 怎么办?
- DELPHI 7 ICS控件
- Gradle安装
- 生产者——消费者模式
- [leetcode]561. Array Partition I
- git具体操作,github(未完)
- c语言的链接属性和static、extern关键字
- 【c++11 新特性应用】利用bind实现通用的混合任务线程池
- jQuery Ajax 实例
- eclipse-Servlet