需要的控件
首先要有 TDSServerModule、 TDSServer、TDSTCPServerTransport;
TDSServerClass、TDataModule;實現上述功能主要控件如下圖所示
包含的單元包括
SysUtils, Classes,
DSTCPServerTransport,
DSHTTPCommon, DSHTTP,
DSServer, DSCommonServer, Provider, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient;
其中IdTCPConnection單元一定要有。
代碼如下,//符號包含的是主要實現部分;
procedure TServerContainer1.DSServer1Connect(
DSConnectEventObject: TDSConnectEventObject);
var
ClientConnection: TIdTCPConnection;
begin
//=================================================
if DSConnectEventObject.ChannelInfo <> nil then
begin
ClientConnection := TIdTCPConnection(DSConnectEventObject.ChannelInfo.Id);
FormMain.ClientID := DSConnectEventObject.ChannelInfo.Id;
FormMain.ClientIP := ClientConnection.Socket.Binding.PeerIP +
':' + IntToStr(ClientConnection.Socket.Binding.PeerPort);
FormMain.ServerIP := ClientConnection.Socket.Binding.IP + ':' +
IntToStr(ClientConnection.Socket.Binding.Port);
//=========================================================
FormMain.bsSkinMemo1.Lines.Clear;
FormMain.bsSkinMemo1.Lines.Add('客戶端ID號:'+IntToStr(FormMain.ClientID));
FormMain.bsSkinMemo1.Lines.Add('客戶端IP號:'+FormMain.ClientIP);
count:=count+1;
FormMain.StatusBar1.Panels[0].Text:='同時在線人數'+IntToStr(count);
end;
end;