procedure TFormMain.IdTCPServerExecute(AThread: TIdPeerThread); var sCommand: string; begin with AThread.Connection do begin 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;//endif end; end;
procedure TFormMain.DisplayData(); begin EdtData.Text := FReceived; end;
procedure TFormMain.AddLogEntry(); begin LbLog.Items.Add(FLogEntry); end;