实际上,我将创建一个应用程序,它应该向用户展示一个或多个本地pc的一些请求,使用该应用程序的用户将能够拒绝或接受该请求。
一旦请求被拒绝或被用户接受,应用程序应该将用户选择的情况“通知”本地pc。
一个真正的例子是:应用程序将被连锁商店或单一商店管理员使用,卖家将能够在他的商店pc上做一些事情,并做他需要的其他事情,他将需要向管理员申请许可,而管理员将接受或拒绝该请求。
实际上,我认为我需要一台服务器,因为我不能直接与本地pc通信(我不会打开pc端口直接与它们通信),但是本地pc如何与应用程序通信呢?
我在想这样的事情:
本地PC =>请求=>服务器,所以现在服务器必须通知应用程序并发送请求数据,但是如何(?)一旦请求被接受或拒绝,应用程序会将数据发送回服务器,所以app =>响应=>服务器,这里还有另一个漏洞,我如何通知本地pc的响应?如果服务器X秒上有响应,我应该从本地pc上检查吗?
发布于 2019-08-01 17:36:49
这是一个相当复杂的问题,所以我将给你们提供指向解的指针,而不是解本身。
你总共需要三个程序:
如果你是自己写的话,我建议你坚持使用一种编程语言--就我个人而言,我推荐Kotlin,因为大多数安卓应用程序现在都是用它编写的,并且100%与Java兼容。
服务器应该使用某种协议进行通信-- REST在速度上是相当不错的,而且非常流行,因此应该有大量的在线教程。请记住,服务器应该知道某些请求应该由具有特定权限的用户完成,这样黑客就不会改变Android应用程序。
PC和Android应用程序都会使用REST与服务器进行通信。
如果要用Kotlin编写PC应用程序,我建议使用TornadoFX作为图形库。比Swing好得多。如果您想要Java,那么使用JavaFX。在应用程序中的某个地方,只要应用程序打开(线程循环的个人提示:while(!stopWorking)),必须有一个线程持续工作,并且每隔X秒询问服务器是否有新的请求。不要费心于刷新按钮,在我看来,它们只是分散注意力。你甚至可以发出一点"ping“的声音,有时,当应用程序已经闲置了很长时间时,一个新的请求出现,这样用户就可以停止查看facebook了。
至于Android应用程序,情况则大致相同。如果您希望在用户的请求准备就绪时得到通知,则需要在后台不断地运行一个服务。为此,您需要决定是从应用程序开始,还是从电话开始(如果服务是在重新启动电话后运行,还是只在应用程序重新启动后才运行)
至少我会这么做。如果你真的愿意,你可以做它,这样每个PC应用程序也将是服务器,当它打开和关闭时,它会通知中央服务器,一个新的客户端在那里请求。因此,与PC应用程序询问主服务器有关新请求的情况不同,它通常只需等待服务器发送。这样,PC应用程序和主服务器程序将同时成为客户端和服务器端。然而,使用Android应用程序这样做是毫无意义的。此外,它的假设是,个人电脑应用程序不是一般公众的东西,而是工人在商店工作。
希望你觉得这有帮助
https://stackoverflow.com/questions/57312322
复制相似问题