TCP (Client)
This section covers the library for working with TCP protocol in 1С:Enterprise, OneScript, and CLI. This page describes all the steps required to get started.
Please review the "About external components" section before getting started
Learn more: "Using OpenSSL in External Components"
About implemented methods
This library provides several ready-made methods for working as a TCP client. The standard scheme of interaction with the server is as follows:
- The object is created and connected to the server using the
CreateConnectionfunction. The connection string in the format<address>:<port>is passed there. - If necessary, a message can be sent to the server using the
SendBinaryDataandSendLinefunctions - To receive data from the server, the
ReadBinaryDataandReadLinefunctions are used. They have different parameters to limit the received data by size, token and waiting for input (timeout) - At the end of work it is desirable to explicitly terminate the connection using the
CloseConnectionfunction
For a simple scenario with standard settings, there is also the ProcessRequest function - it sends data to the specified address and waits for a response, finishing reading when the standard \\n token is found. It is also the only function that is available in the CLI version of the OPI
TLS
The library supports TLS mode. To enable it, you must configure TLS settings using the GetTlsSettings function and pass them as the corresponding parameter to the CreateConnection or ProcessRequest function. If the TLS parameter is not provided when calling these functions, the connection will be initialized in an unsecured mode.
Proxy Usage
The client supports establishing connections through a proxy server. Proxy settings can be obtained using the GetProxySettings function. The resulting structure must then be passed to either CreateConnection or ProcessRequest when initiating work
...
ProxyType = "http"; // http, socks5, socks4
ProxyAddress = FunctionParameters["Proxy_IP"];
ProxyPort = FunctionParameters["Proxy_Port"];
ProxyLogin = FunctionParameters["Proxy_User"];
ProxyPassword = FunctionParameters["Proxy_Password"];
ProxySettings = OPI_TCP.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
Connection = OPI_TCP.CreateConnection(Address, TLSSettings, ProxySettings);
Support is provided for socks4, socks5, and http proxy servers
Operation via http-proxy is experimental and may be unstable depending on the proxy server’s implementation, configuration, and capabilities. It is recommended to use socks-proxy whenever possible for stable traffic transmission