C++ 和 java , SQLITE 服务器同时访问

C++ and java , SQLITE server access same Time

我有一个问题,我需要为软件 un c++ 创建一个 dll,这个 dll 需要与 SQLITE 通信。但与此同时,我也有 Java 需要与数据库通信的应用程序。

所以我需要创建一个服务器来接收来自两个应用程序(c++ 和 java)的请求并将它们启动到 SQLITE。 但是我可以用哪种语言创建这个服务器,用哪种语言 API 我可以用我的两个应用程序与这个服务器通信。

我需要它,因为 c++ 和 java 应用程序都是网络上的一台计算机,它们编辑同一个数据库。

我选择 SQLite 是因为我认为它对我的解决方案更有效率,因为我们不想在计算机上安装很多软件。

只要您通过套接字发送和接收消息,您就可以用任何您喜欢的语言编写服务器,作为字节,它不是特定于语言并且易于实现。通过这种方式,您还可以轻松切换到分布式应用程序。如果服务器和客户端在同一台机器上,只需为它们分配不同的端口即可。

这是一个很难回答的问题,因为从您的措辞来看,您似乎同时想要体系结构和实施解决方案,其中第一个在某种程度上是主观的,而后者则相当复杂。要获得有用的 Java 库,请查看 Java RMI 和 CORBA。也许其他人知道更好更简单的方法,这是我想到的第一件事。

另一种方法是让每个客户端处理他们自己的直接数据库访问,因为 SQLite 是它自己的东西,允许 C++ 和 Java 使用它。但是,我不确定处理锁定 db 文件以防止多个客户端同时访问的难度有多大。

SQLite 不支持多用户、设置用户访问权限或类似的任何内容。你绝对可以实现一个基于 'server' 的包装器来管理用户,但这对我来说似乎很乏味。我建议切换到 MySQL,因为它已经内置了用户管理功能,可能有助于解决您的问题。