【发布时间】:2011-07-25 07:40:25
【问题描述】:
我正在实现一个像 MySQL 这样的小型数据库。它是一个更大项目的一部分。
现在我已经设计了核心数据库,我的意思是我已经实现了一个解析器,我现在可以在我的数据库上执行一些基本的 sql 查询。它可以存储、更新、删除和检索文件中的数据。作为现在它很好..但是我想在网络上实现这个..
我希望多个用户能够同时访问我的数据库服务器并对其执行查询...我在 Linux 下工作,所以现在不存在可移植性问题..
我知道我需要使用 Sockets,这很好。我也知道我需要使用像线程池这样的概念,我将被要求最初创建最大数量的线程,然后为每个客户端请求唤醒一个线程并将其分配给客户端..
至于现在我无法弄清楚的是如何将所有这些实际捆绑在一起..我应该在哪里实现多线程..在客户端/服务器端。?我的解析器将如何配置为分别从每个客户端获取输入?(我认为主要是通过文件?)
如果有人知道我如何实现这个,请告诉我,因为我被困在这个项目中......
谢谢.. :)
【问题讨论】:
-
只是好奇;你为什么不使用SQLite?
-
可能是一个学习数据库或他希望进一步学习的家庭作业数据库。
-
@sixletters: 不是作业.. 我正在写一篇论文.. 实现在不受信任的服务提供商处存储数据的存储机制..
-
@darioo:我没有使用 SQLite,因为我自己实现了一个基本数据库,这已经完成..
标签: c linux multithreading sockets client-server