Hi there,
As I read your project I find it is interesting. It is not very common to see an app working from Linux and control an MT4 instance, but I've done this before. I have built many application to control MT4 instances from Windows, Linux and even from a Mac.
Reading in detail the architecture you need to implement this, first, I don't think you should use Socket Connections not a DLL to communicate to MT4, it is not the best approach for your goal. If you need to deliver Order signals from your website, then use REST to expose some endpoints containing the Order details (signal) and bridge the communication to MT4 through Named-Pipes, which is far better than using a DLL (in C++), you will have many communication problems sing a DLL with Socket Connections, Socket is a state-full connection, which means, it is always alive until the connection is manually closed or dropped-out. REST instead is state-less and easier to code. Once you have the end-points coded to expose the signals, the rest is easy too, just download the signals from the end-point and execute the order in MT4 through Named-Pipes.
If you want I can send you a small demo application which can show you how an MT4 instance can be controlled through Named-Pipes, send Orders, close Positions, retrieve account information, available symbols, etc. No compromise.
I can have you project ready in 10 days, 8 days to deliver your solution and 2 more just in case you need any change or update.
Regards,
Joe.