我有数据存储在一个字节数组中.如何将此数据转换为十六进制字符串?
我的字节数组示例:
array_alpha = [ 133, 53, 234, 241 ]
Run Code Online (Sandbox Code Playgroud) 我正在使用Delphi 2007和Indy 10; 如果我错过了一些显而易见的东西,我会有点像德尔福的菜鸟道歉
背景:我有一个简单的服务器应用程序,只需在连接到其端口时发送单词"PING".如果收到"PONG"字样,它也会回复.这工作正常,我已经使用netcat/wireshark手动测试了这个.
我正在尝试编写我的客户端以连接到端口,并在收到它时自动响应PING一词.我创建了一个带有手动连接按钮的简单表单.
客户端连接,但它不响应PING这个词.我认为问题在于:
TLog.AddMsg(FConn.IOHandler.ReadLn);
Run Code Online (Sandbox Code Playgroud)
我的调试日志仅报告"DEBUG:TReadingThread.Execute - FConn.Connected".
我的客户代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdCustomTransparentProxy, IdSocks, IdBaseComponent,
IdComponent, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack,
IdTCPConnection, IdTCPClient, IdSync;
type
TReadingThread = class(TThread)
protected
FConn: TIdTCPConnection;
procedure Execute; override;
public
constructor Create(AConn: TIdTCPConnection); reintroduce;
end;
TLog = class(TIdSync)
protected
FMsg: String;
procedure DoSynchronize; override;
public
constructor Create(const AMsg: String);
class procedure AddMsg(const AMsg: String);
end;
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
IdIOHandlerStack1: …Run Code Online (Sandbox Code Playgroud)