我正在开发一个网站,它将检索已发送到网关的 SMS 消息。网关通过 API 访问,请求格式如下:
http://www.smsgateway.com/?login=myusername&password=mypassword&lasttime=1236164238
请注意,我必须跟踪上次下载消息的时间 - 只有在该时间之后收到的消息才会返回。
问题是服务器之间有大约5分钟的时间差!这是正在发生的事情:
->用户发送短信;网关服务器在上午 11 点为其添加时间戳(假设实际时间是上午 10 点 55 分)
-> 我的服务器请求从 10.56 开始发送的所有消息 - 接收上述消息并将其添加到数据库
->我的服务器请求从 10.58 开始发送的所有消息 - 接收上述消息并再次添加它,因为它的时间戳是上午 11 点
->我的服务器在 11:00 发送另一个请求 - 接收消息并再次将其添加到数据库中
所以我的问题是一条原始消息被接收了 3 次。
更改我的服务器时间是可行的,但不是远程服务器。
如何在不检查消息是否已在数据库中的情况下处理此问题?