Built-in Units

SOCKETS

Since Modern Pascal is authored by the same guy who wrote DXSock socket suite for Delphi. Modern Pascal has DXSock built-in for client communications, and of course all server communications for Celerity and CodeRunner.

Globals

{$IFDEF OPENSSL_EDITION}
TDXHandShakeMode = (hsAsClient, hsAsServer);
TDXCryptoLevels = (clSSLv2, clSSLv3, clSSLv2and3, clTLS, clTLSv1, clTLSv1_1, clTLSv1_2, clAllLevels);
{$ENDIF}

Functions



Procedures



TDXSock

.Init
.Connect(Const Host:String;Const Port:Word):Boolean
.ConnectTo(Const Host:String;Const Port:Word):Boolean
.Disconnect()
{$IFDEF OPENSSL_EDITION}
.EnableEncryption(Const HandShakeMode:TDXHandShakeMode;
 Const SupportLevels:TDXCryptoLevels;
 Const Ciphers, CAList_PathFileName, PublicCert_PathFileName,
 PrivateCert_PathFileName,
 PrivateCert_Password : AnsiString; Const PublicCertIsPEM,
 PrivateCertIsPEM:Boolean):Boolean
.DisableEncryption()
.OpenSSLVersion:ShortString
.OpenSSLCompilerFlags:AnsiString
.OpenSSLBuiltOn:ShortString
.OpenSSLPlatform:ShortString
.OpenSSLDirectory:AnsiString
{$ENDIF}
.Write(Const S:String):Longint
.WriteStr(Const S:String):Longint
.Writeln(Const S:String):Longint
.WritelnResultCode(const ResultCode:Word;Const Msg:String):Longint
.WriteNull(Const S:String):Longint
.WriteWithSize(Const S:String):Longint
.Write16bit(const W:Word):Longint
.Write32bit(const L:LongWord):Longint
.Write64bit(const Q:QWord):Longint
.ReadKey:Char
.Read(const WantedBytes,TimeoutMS:Longint):String
.ReadStr(const WantedBytes,TimeoutMS:Longint):String
.Readln(const TimeoutMS:Longint):String
.ReadNull(const TimeoutMS:Longint):String
.ReadWithSize(const TimeoutMS:Longint):String
.Read16bit(const TimeoutMS:Longint):Word
.Read32bit(const TimeoutMS:Longint):LongWord
.Read64bit(const TimeoutMS:Longint):QWord
.PeekString:String
.PeekChar:Char
.IsValidSocket:Boolean
.ValidSocket:Boolean
.IsConnected:Boolean
.Connected:Boolean
.IsReadable:Boolean
.IsWriteable:Boolean
.Readable:Boolean
.Writeable:Boolean
.CountWaiting:Longint
.SetNagle(Const TurnOn:Boolean)
.SetBlocking(Const TurnOn:Boolean)
.ErrorMessage(Const ErrorCode:Longint):String
.LastCommandStatus:Longint
.SendFile(Filename:String;UsePipes:Boolean=False)
.SetASCIIMode
.SetANSIMode
.SetUTF8Mode
.GetAddressCountByIP(IP:String):Longint
.GetIPAddressByHost(Domain:String;Which:Longint):String
.GetHostByIPAddress(IP:String;Which:Longint):String
.GetLocalHostName:String
.getSocketHandle:Longint
.setSocketHandle(V:Longint)
.getIsUDPMode:Boolean
.setIsUDPMode(V:Boolean)
.getPeerIPAddress:String
.getPeerPort:Longint
.getLocalIPAddress:String
.getLocalPort:Longint
.Free