Servers

Servers are one of the two pillars of what makes Remoting SDK. You can think of Remoting SDK Servers as applications that usually run "headless", meaning without any user-interface and as a background "Windows Service" or "UNIX Dæmon", and provide functionality that they make available over the network to Client Applications (the second pillar).

They do this through the concept of Services. A Service is, essentially, just a class that you write yourself that implements the logic or functionality that you want to provide to your clients. Remoting SDK will take on all the hard work of making that class accessible over the network, so that your clients can call into it. To your client applications, too, working with your service will seem as simple as making calls into a class.

Platforms

Remoting SDK gives you the choice of two development platforms for creating servers: .NET and Delphi. With either platform, you have access to all the capabilities of the SDK, and can build servers that can be hosted on Windows and Linux Servers (including cloud services such as AWS or Azure), as well as Mac OS X.

.NET Servers can be developed on Windows using Visual Studio and on Mac using our free Fire development environment. You can use C#, Swift, Oxygene and Visual Basic.

Delphi Servers can be developed on Windows only, using Embarcadero's RAD Studio IDE. They can be written in the Delphi language or with C++Builder.

Getting Started

Getting started with your first server application is really easy, and we've provided a handful of tutorials to guide you through the project templates provided in all IDEs, as well as frequent next steps.

Concepts

Remoting SDK makes creating servers (and the clients that connect to them) easy, but that does not mean it is trivial. Behind the scenes, Remoting SDK does a lot of work to make your servers accessible to begin with, but also to make them responsive and scalable.

There are a few concepts and classes you will want to make yourself familiar with to fully understand how Remoting SDK works, and to take full advantage of its capabilities. Some of these are essential to working with the SDK, while other concepts are more "behind the scenes" and you don't need to care about unless you want to really dive in deep.

The Concepts section covers these areas in detail, but we recommend that you, at the very least, read up on:

  • Services
  • Server Channels and Messages
  • Statelessness and Session Management

Of course you will also want to explore the Clients section for more information on how to connect to your servers from your client applications (which can be written in more development platforms than just .NET and Delphi, including Cocoa, Java and JavaScript).