【问题标题】:Sending query requests over LAN通过 LAN 发送查询请求
【发布时间】:2022-10-26 04:41:24
【问题描述】:

我有一个使用 sqlite3 数据库的库存管理应用程序(Windows)。该应用程序安装在我们办公室的主 PC 上。我将有大约 6 个扫描仪与这个应用程序通信。我要使用这个应用程序的仓库很大,条码扫描器无法在远处发出信号,因此在感兴趣的区域附近将安装 3 台 PC。计划是将条形码扫描仪数据发送到这些 PC,然后让这些 PC 与办公室的主 PC 进行通信。所以基本上是这样的

  2 scanners ---> installed PC 1 \
  2 scanners ---> installed PC 2 - main PC
  2 scanners ---> insatlled PC 3 /

根据我迄今为止在本地共享 sqlite3 数据库的研究,这不是正确的方法。相反,我决定在 python 中使用套接字编程,通过 TCP 以 json 或 dict 格式发送查询请求。我的目标是收集主 PC 上的所有请求,然后继续执行这些请求涉及的任何 CRUD 操作。

因为在我想知道套接字编程是否是要走的路之前,我从来没有做过这样的事情?

【问题讨论】:

  • 当然,这是一种方法。注意一个极其常见的典型新手错误:一个send 不等于一个recv - 不同的sends 可以合并或拆分。
  • 如果你不跨网络使用 sqlite3 的原因仅仅是因为它不起作用,那么你也可以考虑使用免费的数据库设计的对于网络,例如 MariaDB 或 PostgreSQL。您永远不会让人们通过 Internet 访问您的数据库,但是对于您控制软件的小型封闭网络,安装的 PC 访问数据库是可以的。
  • @user253751 谢谢你的提示。我肯定是一个带插座的新手。希望它不会变得太复杂。 sqlite3 支持同时读取和写入,并根据我在此处阅读的一些答案使用 WAL 处理多个写入器。事后看来,我应该使用另一个数据库,但我已经编写了大部分库存管理应用程序,创建了触发器等,现在不想全部更改。如果我在本地分享,也不想冒险错过一些写入。
  • 主PC上的应用程序是否应该分为UI处理和DB处理两个进程?然后,可以对使用扫描仪的子 PC 进行相同的 UI 处理过程,如果需要,也可以在主 PC 上使用扫描仪。
  • @kunif我不确定是否可以将UI处理分配给子PC并将所有处理加入主PC。对我来说听起来很陌生,但想看看它到底是什么的例子。扫描仪无法直接与主 PC 一起使用,因为某些扫描仪与主 PC 之间的距离太远,无法接收信号。

标签: python windows sqlite sockets barcode-scanner


【解决方案1】:

你是个恶心的婊子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2013-01-15
    • 2011-06-10
    • 2013-04-27
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多