procedure TForm1.IdTCPServerExecute(AThread: TIdPeerThread); var sCommand: String; begin with AThread.Connection do begin ShowMessage('Ok'); sCommand := ReadLn(); FLogEntry := sCommand + '来自主机' + AThread.Connection.Socket.Binding.PeerIP; AThread.Synchronize(AddLogEntry); if AnsiStartsText('DATA', sCommand) then begin FReceived := RightStr(sCommand, Length(sCommand)-5); WriteLn('200:数据接收成功!'); AThread.Synchronize(DisplayData); end else if SameText(sCommand, 'QUIT') then begin FLogEntry := '断开同主机' + AThread.Connection.Socket.Binding.PeerIP + '的连接!'; AThread.Synchronize(AddLogEntry); Disconnect; end else begin WriteLn('500:无法识别的命令!'); FLogEntry := '无法识别命令: ' + sCommand; AThread.Synchronize(AddLogEntry); end; end;end;
var
sCommand: String;
begin
with AThread.Connection do
begin
ShowMessage('Ok');
sCommand := ReadLn();
FLogEntry := sCommand + '来自主机'
+ AThread.Connection.Socket.Binding.PeerIP;
AThread.Synchronize(AddLogEntry); if AnsiStartsText('DATA', sCommand) then
begin
FReceived := RightStr(sCommand, Length(sCommand)-5);
WriteLn('200:数据接收成功!');
AThread.Synchronize(DisplayData);
end
else if SameText(sCommand, 'QUIT') then begin
FLogEntry := '断开同主机'
+ AThread.Connection.Socket.Binding.PeerIP
+ '的连接!';
AThread.Synchronize(AddLogEntry);
Disconnect;
end
else begin
WriteLn('500:无法识别的命令!');
FLogEntry := '无法识别命令: ' + sCommand; AThread.Synchronize(AddLogEntry);
end;
end;end;