1

我正在开发一个移动应用程序(Android 和 iOS)来接收餐厅的外卖订单。该应用程序允许用户从菜单中选择东西,当他完成后,我需要将他的订单发送到我将在餐厅的台式计算机上运行的程序。

到目前为止,我的第一个也是唯一的想法是

  1. 在我的服务器上有一个 HTML 页面,餐厅的桌面程序可以每秒检查一次是否有新订单。
  2. 让应用程序将 HTTP POST 消息发送到我将在我的服务器上运行的 PHP 脚本。PHP 脚本收到消息后会在 HTML 页面上显示订单十分钟左右。
  3. 在此期间,桌面程序将注意到新订单并将其显示给餐厅员工。

中间使用服务器是因为餐厅有两个分店,在不同的城市,所以使用服务器,两家餐厅可以检查相同的 HTML 页面,只在自己的城市挑选订单。

我的解决方案可行还是应该尝试其他方法?

提前致谢。

4

2 回答 2

1

听起来您想实现一个可以向其发送请求的 API。在 Java 中,您可以执行以下操作来发送请求:

HttpURLConnection connection = (HttpURLConnection) new URl("yourURL").openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true); // this allows you to send data
connection.getOutputStream().write(yourOutgoingData);
InputStream is = connection.getInputStream(); // this actually sends the request and fetches any return data

显然,您必须在Try/Catch. 我还建议,而不是在中间使用服务器,是否不可能使用DynDNSNo-IP以便您可以将请求发送到正确的计算机?这些服务允许您将永久 URL (yourname.dyndns.org) “附加”到您更改的 IP 地址,只需在您餐厅的路由器中输入您的登录详细信息,当 IP 更改时,它将被发送到 DynDNS 或 No-IP。

于 2012-07-25T22:01:17.087 回答
1

我的建议是让网络服务器处理所有订单。因此,您将拥有您的移动设备,该设备将接受订单,然后将其发布到服务器的数据库中。这将需要一些包含数据库的 Web 界面。

然后我会编写一个单独的桌面客户端来轮询服务器以获取新的数据更改。发现更改后,它将下载该新条目并将其显示给员工。

所以它看起来像:

Phone ------>
Phone ------>              -------> Desktop Client
Phone ------> <Web server>
Phone ------>              -------> Desktop Client
Phone ------>
于 2012-07-25T22:16:49.877 回答