基于GPRS无线POS机通信解决方案

来源:互联网 发布:cs起源武器数据 编辑:程序博客网 时间:2024/04/30 12:26
目前我们有这么一个需求:
我们是一家做网上订餐的网站,系统参与者有:
1、无线POS机客户端
2、我们网站
3、基于tcp/ip或者udp协议通信的服务器端程序
4、订餐用户

说明:
订餐用户访问我们的网站,选择他周边所在的餐馆,然后向他喜爱的餐馆订餐,当用户下订单之后我们网站就向指定的这家餐馆发送订单,然后在餐馆那边的无线POS机就会自动把用户下的订单打印出来(通过GPRS无线网络传输),简单需求就是这样子。

问题:
1、餐馆那边的无线POS机那边的POS机是没有固定IP的。(也就是说无线POS机只能是做为客户端连接到服务器程序,网站也是做为客户端连接到服务器端,当有接收到订单就转发到相应的餐馆无线POS机打印)
2、如果是基于tcp/ip长连,那么服务器端程序这边负载很大,可能只能做到1000多个客户端连接。
3、如果是基于tcp/ip短连接的话,由于无线POS机这边没有固定IP,服务器端无法识别每个客户端,那么就无法向哪家餐馆发送正确的订单数据包。
4、如果是基于udp的话,同样服务器端也不能识别无线POS机客户端,同样不能做到正确的向指定的无线POS机客户端发送数据。

其实这个原理很类似于QQ,用户机器上装的QQ客户端也是没有固定IP的,但A用户向B用户发送信息能够知道信息是发给谁的。

不知道大家谁有这方面的经验?怎么做比较好~


我理想中的实现方案流程如下:

A(无线客户端/GPRS无线POS机)

B(服务器,IP固定)

C(局域网客户端)

A上线通知B,B记录A的信息:peerip,peerport;trueip,trueport;餐馆的ID
C发订单数据给B,B把C的订单转发给A

在这种方案下如何保证C的订单能够正确发送给A,会不会存在NAT问题。
原创粉丝点击