I hope to find some answer here. Please let me introduce myself first: I programming with Delphi but I haven’t got a clue about network programming (I never did it). So please be a bit patient with me.
I like to start with a simple example: a user shall use his iPhone/Android phone to control a trackbar (volume control) in my Windows Delphi program. Like some of already existing remote control apps for existing media players.
So I have been recommended to use Bonjour, as it should already offer a perfect service for all the required communication including establishing the local WLAN network connections. And it seems that the RemObjects SDK supports using Bonjour with Delphi.
Can someone tell me about the first steps to start with the given idea/task? What is necessary to install and to use? Is RemObjects SDK the right choice?
Of course it is required to get a solution for the Windows/Delphi side. And then on the app side.
Hello,
First you can look on ‘Bonjour Service Discovery’ sample to learn how RO works with Bonjour.
For iPhone you can use server samples: Phone Pairing Server, Phone Photo Server, iOS Background Completion Server.
For Android you can use server samples: MegaDemo, HTTPChat.
You can find these samples here:
Windows XP: C:\Documents and Settings\All Users\Documents\RemObjects Samples\RemObjects SDK for Delphi
Vista,Win7: C:\Users\Public\Documents\RemObjects Samples\RemObjects SDK for Delphi\
Bonjour is service discovery technology, it helps your application to discover servers running in same network. For ex: you can also hardcode server address in settings for your application, and let admin configure client’s app before use. So - it architecture decision what discovery tech to use! In your case address of client and server apps can be different, so Bonjour discovery will be helpful.
Then use RO SDK to remotely invoke server’s methods to authorize your client and call other methods (manage volume setting on server). SKD definitely can be used for that!
If you do not want to use RO SDK, then you can use simple HTTP API (rest based?) to control your server using any HTTP client (JavaScript?).
Then, you can use RO SDK and HTTP client)) So a lot of combinations! Just specify your exact task /or evaluate your req yourself!)
As already written in the first post:
I have a Delphi program designed as usual with VCL GUI components. One component is a trackbar which is used to control the playback volume of a music signal.
Now I like to use a mobile phone to control the trackbar.
So my application must play the role of a server and the mobile phone is a client.
This is the basic idea. A rudimentary task.
Client and server shall find each other without problems and connect. The playback volume at the server shall be displayed on a trackbar on the client GUI. A trackbar change shall be sent to the server and handled accordingly by changing the playback volume.
This means a bidirectional communication.
Of course I can imagine a lot of other stuff: buttons, checkboxes, images, dialogs …
But my idea is to get a simple remote control example.
For first test it may make sense to start with a local Windows client first (like in Bonjour Discovery) and then to add the mobile phone client a bit later.