如何让我的应用程序向桌面程序发送消息?

时间:2012-07-25 21:51:19

标签: android iphone http

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

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

  1. 我的服务器上有一个HTML页面,餐厅的桌面程序可以每秒查看新订单。
  2. 让应用程序向我将在我的服务器上运行的PHP脚本发送HTTP POST消息。收到邮件后的PHP脚本将在HTML页面上显示订单十分钟左右。
  3. 在此期间,桌面程序会注意到新订单并将其显示给餐厅员工。
  4. 中间服务器的使用是因为餐厅在不同的城市有两个分支,所以在服务器上,两个餐馆都可以查看相同的HTML页面,只选择自己城市的订单。

    我的解决方案是否可行,或者我应该尝试别的吗?

    提前致谢。

2 个答案:

答案 0 :(得分: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。 / p>

答案 1 :(得分:1)

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

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

所以它看起来像:

Phone ------>
Phone ------>              -------> Desktop Client
Phone ------> <Web server>
Phone ------>              -------> Desktop Client
Phone ------>