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.
SimConnect internals
Re: SimConnect internals
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.
Re: SimConnect internals
Have you even looked at the SDK? http://www.prepar3d.com/support/sdk/
Ed Wilson
Senior Developer
Mindstar Aviation
Senior Developer
Mindstar Aviation
Re: SimConnect internals
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.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.
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
Re: SimConnect internals
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
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