unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls;
type
TForm1 = class(TForm)
log: TMemo;
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Client: TClientSocket;
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
procedure ClientError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientRead(Sender: TObject; Socket: TCustomWinSocket);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TByteArray = array of byte;
var
Form1: TForm1;
implementation
{$R *.dfm}
function ByteArrayToHexString(const InArr: array of Byte): string;
var
tmpStrList: TStringList;
i: Integer;
begin
tmpStrList := TStringList.Create;
try
for I := Low(InArr) to High(InArr) do
begin
tmpStrList.Append(IntToHex(InArr[i], 2));
end;
tmpStrList.Delimiter := ' ';
Result := tmpStrList.DelimitedText;
finally
tmpStrList.Free;
end;
end;
procedure ToLog(log: string);
begin
form1.log.Lines.Add(log);
end;
procedure TForm1.Button1Click(Sender : TObject);
begin
{Если соединение уже установлено - прерываем его.}
if Client.Active then
begin
Client.Active:=False;
Exit; {...и выходим из обработчика}
end;
{Присваиваем свойствам Address нужные значения}
Client.Address:=Edit1.Text;
{Пытаемся открыть сокет и установить соединение}
Client.Active:=True;
end;
procedure TForm1.Button2Click(Sender : TObject);
begin
Client.Active:=False;
end;
procedure TForm1.ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
ErrorCode := 0;
Socket.Close;
end;
procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
len : integer;
Buffer : TByteArray;
begin
ToLog('~~~ Подключились ~~~~~~~~~~~~~~~~');
ToLog('размер пакета ' + IntToStr(Socket.ReceiveLength)+' bytes');
setLength(Buffer, Socket.ReceiveLength);
len := Socket.ReceiveBuf(Buffer[0], Socket.ReceiveLength);
ToLog('Прочитано в буфере: ' + IntToStr(len) + ' bytes');
ToLog('Ответ сервера: ' + ByteArrayToHexString(Buffer));
end;
end.
Собственно, соединение устанавливаю, ответ получаю, но не могу понять, что делать дальше, и как из полученного первого пакета получить ключ (не пинать я самоучка). Прошу разжуйте пожалуйста, книги читаю гугл и яндекс мучаю, но немогу разобраться...
Shadrincev, может быть это не мое дело, но не советую писать эмулятор клиента, если вы не имеете представления о массиве байтов и как с ним работать (основы основ)
Demion, ничего это хороший повод изучить и закрепить изученное. Я сам так делаю обычно. Ставлю цель и начинаю изучать материал для достижения цели. Написание бота очень хорошая практика для начинающего программиста.
Читал на раза 4-е.
Собственно, загвоздка в том, что пакеты постоянно преобразовывать через function ByteArrayToHexString? и на основе преобразованного пакета уже if else? или же напрямую через Buffer?
In reply to the man talking about cypress bank online banking, banking with interest, texas capital bank san antonio texas, trust bank savings account minimum balance, first loan bank, top investment banking companies, best community bank near me, banks that offer online banking, texas bank and trust online banking, nations bank near me, I highly suggest this his explanation on business banking advice or first financial bank online banking, commercial bank & trust, us bank reviews, family trust bank, best rated banks in the us, best online bank reviews, top best banks in usa, best online banking sites, coolest bank, good banks near me, not to mention this new business banking site alongside all team capital, no 1 bank in us, top 10 investment banks in usa, banks in west palm beach fl, national banks in florida, banks for money, online bank reviews, cypress bank online banking, best rated bank near me, new online banking, alongside all this go here for business banking forum which is also great. Also, have a look at this use this link for business banking info on top of first financial loan reviews, first trust bank credit card, texas capital bank san antonio tx, national banks in usa, open a trust bank account online, us national bank, type of bank accounts, top corporate trustees, financial institution website, banks type, not to mention this excellent business banking advice not to mention invest money in bank, online bank lenders, top banks texas, united trust bank mortgage, banks not fdic insured, his comment is here for together with top banks near me, us bank net banking, first financial customer service, all different banks, best banks 2023, for good measure. Check more @ Excellent Asian2bet Login Website ac28568