我有一个 .net winform 应用程序,我想允许用户通过 PHP 连接。
我使用 PHP 是出于个人选择并帮助降低成本。
快速概览:
人们可以连接到我的 .net 应用程序并启动一个新线程,即使在他们关闭浏览器后仍将继续运行。然后,他们可以随时登录以查看他们的线程正在执行的状态。
目前我想出了两种方法来做到这一点:
想法 1 - 插座:
当用户第一次连接并产生一个线程时,GUID 与他们的“网络”登录详细信息相关联。
下次 PHP 通过套接字连接到应用程序时,PHP 会发送一个带有 GUID 的“GET.UPDATE”命令,然后将其添加到给定 GUID 的 MESSAGE IN QUEUE 中。
.net 应用程序生成的线程正在检查 MESSAGE IN QUEUE,当它看到“GET.UPDATE”命令时,它会将数据编码为 json 并将其添加到 MESSAGE OUT QUEUE
下次有来自该 GUID 的 PHP 套接字请求时,它会在 MESSAGE OUT QUEUE 中发送数据。
想法 2 - 数据库:
与上面相同的想法,但来自 PHP 的命令被放入数据库
.net 应用程序线程检查数据库中的新 IN MESSAGES
如果它得到一个 GET.UPDATE 命令,它会将 json 编码的数据添加到数据库中
下次 PHP 连接时,它将检查数据库中的新消息并相应地报告数据。
我只是想知道上述两个想法中的哪一个最好。乱搞插座很快就会变成一种痛苦。但是我担心数据库的想法,如果我有 1000 个用户,我们将有一个数据库表,如果队列中有很多消息,它可能会开始变慢
任何建议都会被采纳。