需要的控件
首先要有 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;

1万+

被折叠的 条评论
为什么被折叠?



