Cross Platform C++ Database library?

Started by
11 comments, last by SimonForsman 9 years, 9 months ago

^
| oh well, I admit I didn't think of that. Also, no, I don't need it for offline use, I basically need to store ids and passwords for a multiplayer game. I guess I'll go with the mysql client library and link everything statically, including boost. Hope it works.


Then you absolutely _DO NOT_ want to care about iOS/Mac/Windows/etc. support, as it would be pure unadulterated madness to have the client connecting to the database directly.

The client should connect to some kind of front-end service (either the game over a custom protocol or an HTTP service) and make its login request to that. That service (running on an server somewhere, probably on Linux) then connects to the database, which is located internal to your network/data-centers/VPNs and behind a firewall.

That.

Never give client direct access to db. A user can just take the db credentials you include in the app and dump all the password hashes from the table. You should design a safe API for the client to use (probably easiest to set it up in php, or as a part of your game server).

However, there could be a way to do it safely with client connecting directly to db if you do not want this mediator service: make stored procedures in sql (highly vendor-specific) and make sure the client cannot ever directly access the tables and only those stored procedures.

Advertisement

I see your point regarding security. I'll go with the server and add a little encryption between the client and server. But still, how does one get hands on the MySql source? I followed the links, tried with Bazaar, no success!

I see your point regarding security. I'll go with the server and add a little encryption between the client and server. But still, how does one get hands on the MySql source? I followed the links, tried with Bazaar, no success!

The mysql source can be found here:

http://dev.mysql.com/downloads/mysql/

Select "Source code" as your platform to get the source code (Same thing goes for all the connector libraries etc, just select source code as your platform if you don't want a binary package)

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

This topic is closed to new replies.

Advertisement