SimConnect internals

Discuss on the SimConnect SDK can be used by programmers to write add-on components for Prepar3D
Locked
ajvbun
Posts: 4
Joined: Tue May 24, 2016 6:34 am

SimConnect internals

Post by ajvbun »

Hello,
I am using P3Dv4 and want to control the FS through SimConnect using a Delphi 64 bit application. In my understanding the a SimConnect server is embedded in P3Dv4. Do you know how to communicate with this server and of what type it is? Is it a shared memory, COM, TCP or other IPC server? I understand that one way to communication between a client and the server is compiled in simconnect.lib and simconnect.h usable under C++ from VC 2015+. To prevent an additional software layer, by converting the *.lib into a dll, I want to communicate with the server directly. Knowing the type of server and its communication protocol makes it possible to implement this. In my understanding the server can be setup as a network server by configuring the *.cfg and *.xml file. Again, using a localhost or remote TCP/IP socked, I need to know the communication protocol. At the moment I do not know how to continue. Any help is very much appreciated.
ajvbun
Posts: 4
Joined: Tue May 24, 2016 6:34 am

Re: SimConnect internals

Post by ajvbun »

After reading a lot today about this subject I am almost sure the embedded simconnect server in P3Dv4 uses a TCP server for IPC. Now the question remains : what is the protocol definition? Is it ascii or binary and what format is used . Can anybody point me in a direction how to obtain / find documentation? Thanks.
User avatar
WarpD
Posts: 1469
Joined: Mon Feb 14, 2011 5:29 am

Re: SimConnect internals

Post by WarpD »

Have you even looked at the SDK? http://www.prepar3d.com/support/sdk/
Ed Wilson
Senior Developer
Mindstar Aviation
obinder
Posts: 145
Joined: Sun Jun 08, 2014 9:43 am

Re: SimConnect internals

Post by obinder »

ajvbun wrote: Fri Jun 30, 2017 8:01 pm After reading a lot today about this subject I am almost sure the embedded simconnect server in P3Dv4 uses a TCP server for IPC. Now the question remains : what is the protocol definition? Is it ascii or binary and what format is used . Can anybody point me in a direction how to obtain / find documentation? Thanks.
It most certainly is a TCP based architecture, that is how it can communicate with its clients over the network. But the specification and internals of this protocol have never been revealed.

You will have to consider that the SimConnect client DLLs are doing a lot more than just passing on the protocol. Every attempt to access the communication directly is futile IMHO. You will have to find a way to integrate the client DLLs into your app, which means at least one additional software layer (C++, C# or VB are supported natively).

Best regards
Oliver Binder
Lorby-SI
ajvbun
Posts: 4
Joined: Tue May 24, 2016 6:34 am

Re: SimConnect internals

Post by ajvbun »

Hi, Oliver Binder,
I agree with your answer, thanks.
It is what I am implementing now, an additional layer in C++ using the Prepar3d SimConnect.lib (as a dll is not available).
But it is a pity that this is required just due to a lack in documentation.
Best regards, Anthony
Locked