OpenAI Delphi API (1 / 5)

From sgcWebSockets 2023.3.0 the OpenAI API is fully supported. The OpenAI API can be applied to virtually any task that involves understanding or generating natural language, code, or images. OpenAI offer a spectrum of models with different levels of power suitable for different tasks, as well as the ability to fine-tune your own custom models. The...

Continue reading

OpenAPI Delphi Parser

I am happy to announce the sgcOpenAPI Pascal Parser, a brand new product allowing import an OpenAPI Specification and generate a Pascal Interface. The sgcOpenAPI Parser supports the following specifications: OpenAPI 3.*Swagger 2.* (automatically converted from 2.0 to 3.0)Swagger 1.* (automatically converted from 1.0 to 3.0) Supports the follow...

Continue reading

Delphi Server Sent Events (SSE) Client

From sgcWebSockets 2023.2.0 the HTTP/1 Client has been improved and supports SSE requests. Remember than SSE was already supported on Server components but not on client. SSE (Server-Sent Events) is a web technology for efficiently receiving push notifications from a server to a client's browser. It's a standard that allows a web page to receive up...

Continue reading

Mapping Groups and Connections

In a previous post I Introduced the new Groups feature on WebSocket Servers. This post I will show how to combine the WebSocket Groups with the Client Connections to identify and store the user data in a client connection. sgcWebSockets library allows you to create your own objects and link to a TsgcWSConnection class, so you can access at any time...

Continue reading

WebSocket Groups: Channels, Users and more

From sgcWebSockets 2023.2.0 a new feature has been implemented to improve Server Message Broadcasting. Groups is a new feature in sgcWebSockets library, that allows you to organize connections (representing clients, such as browsers) into named groups. This allows you to broadcast messages to all connections in a group instead of sen...

Continue reading

Indy Servers - EPOLL Linux (3 / 3)

From sgcWebSockets 2022.9.0 there is a new IOHandler for Linux, using EPOLL you can avoid the "one-thread-per-client" problem where the performance decrease a lot as more connections are handled by the server. IOCP provides a few threads that handle multiple clients. The threads are suspended and don't use CPU cycles until there is something t...

Continue reading

Indy Servers - IOCP Windows (2 / 3)

From sgcWebSockets 2022.9.0 the Indy Server IOCP IOHandler has been rewritten from scratch and performance improved. The IOCP IOHandler is only available on sgcWebSockets Enterprise Package. Using IOCP you can avoid the "one-thread-per-client" problem where the performance decrease a lot as more connections are handled by the server. IOCP provides ...

Continue reading

Indy Servers - Thread Model (1 / 3)

Indy Servers use threads to handle the client connections, every time a new client connects to the server, a new thread is created and this thread handles the connection, so if you have 100 connections, there will be 100 threads. Additionally, indy uses blocking sockets, which means when you read or write, the function doesn't return until it is co...

Continue reading

DTLS over UDP on Server and Client Components

From sgcWebSockets 2022.8.0 DTLS over UDP is supported by Server and Client UDP components. This means that now you can send encrypted messages using UDP (like WebSocket or HTTP protocol that work over TLS). From Wikipedia: Datagram Transport Layer Security (DTLS) is a communications protocol providing security to datagram-based applications b...

Continue reading

Delphi 11.2 iOS ARM Simulator

From sgcWebSockets 2022.8.0 the new iOS ARM Simulator personality is supported, so now you can test your iOS projects in a iOS simulator if you have a Mac based on ARM. Just select the new personality in the Rad Studio Project, build and start the project, the application will be shown in the ARM machine. This will reduce the time during developmen...

Continue reading
Tags:

Google API Key OAuth2

From sgcWebSockets 4.3.4, OAuth2 is supported. Google provides access to these APIs using OAuth2 authentication, so you first must get the OAuth2 Client ID and Client Secret before you can connect to Google Services. sgcWebSockets make use of standard web browser to request a new Authorization Code. If a refresh token is provided, it will upda...

Continue reading

OpenAPI Delphi Client Parser

The OpenAPI Specification, previously known as the Swagger Specification, is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services. Previously part of the Swagger framework, it became a separate project in 2016, overseen by the OpenAPI Initiative, an open-source collaboration...

Continue reading

ZLib 1.2.12 Delphi - CBuilder

sgcWebSockets uses ZLib for WebSocket Compression/Decompression. Recently Zlib has released a new version with fixes the following issues: Fix a deflate bug when using the Z_FIXED strategy that can result in out-of-bound accesses.Fix a deflate bug when the window is full in deflate_stored().Speed up CRC-32 computations by a factor of 1.5 to 3....

Continue reading

Telegram Sponsored Messages

From sgcWebSockets 2022.3.0, Sponsored Messages are supported. Sponsored Messages requires Telegram 1.8.0+, so the Telegram libraries have been updated to support this feature. Sponsored messages on Telegram are displayed in large public one-to-many channels with 1000+ subscribers and are limited to 160 characters. Sponsored Messages are based sole...

Continue reading

Telegram Request Phone Number or Location

From sgcWebSockets 2022.1 the Telegram Client component is able to request the user the Phone Number or the location when has login as a bot. Find below an example code in Delphi, CBuilder and .NET Delphi Example  oReplyMarkup := TsgcTelegramReplyMarkupShowKeyboard.Create;Try oReplyMarkup.AddButtonTypeRequestPhoneNumber('Give me your phone'); ...

Continue reading

Pusher Custom Authentication

From sgcWebSockets 2022.1, the sgcWebSockets Pusher client allows to implement your own custom authentication. Pusher only allow subscribe to private or presence channels, if the connection provides an authentication token, this allows to restrict the access. You can build your own Authentication flow, using OnPusherAuthentication event, this event...

Continue reading

Binance.us API Delphi and .NET

From sgcWebSockets 2022.1, the Binance.us Servers are supported by our Binance API Client. The following APIs are supported: WebSocket streams: allows to subscribe to some methods and get data in real-time. Events are pushed to clients by server to subscribers. Uses WebSocket as protocol.UserData stream: subscribed clients get account details. Requ...

Continue reading

Twilio Delphi Send a SMS Message

Find below a simple example of how to send a Twilio SMS message using sgcWebSockets library. Twilio Code  Just pass to the method the parameters: Phone from the message is sent, Phone where the message should be delivered, and the text Message. Set your own Twilio Account Sid and Twilio Auth Token. uses sgcHTTP;procedure SendTwilioSMS(const aF...

Continue reading

sgcWebSockets .NET MacOS 64

From sgcWebSockets .NET 4.5.4, MacOS 64 bits is supported, so now you can compile Visual Studio Mac Applications for Mac OS 64 bits. The components supported by MacOS are the same that for Windows, so you can build multi-platform applications using sgcWebSockets .NET library. Find below a video which shows how install sgcWebSockets .NET package on ...

Continue reading
Tags:

MacOS Monterey error loading openSSL libraries

After upgrading to MacOS Monterey, you may experience an error trying to load the openSSL libraries. Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI. This error appears when trying to load an unversioned dylib instead of a library with a revision number. To avoid this error, there is a ne...

Continue reading