0

什么可能是从 MySQL 表中为连接的多个客户端获取记录的最佳方法,这些客户端同时并定期检索记录。

因此,当新记录进入表时,每个人都会收到新消息,但不应再次检索旧消息。

当前表结构:MessageId、Message、DatePosted、MessageFromID

谢谢

4

1 回答 1

1

您的问题可以翻译为:每个客户如何知道,哪些记录要读取,哪些记录不读取。

有两种完全不同的方法,具有非常不同的属性。

  1. 让客户关心
  2. 让服务器照顾它

模型 #1 很简单地要求,你

  • AUTO_INCREMENT如果不能保证您的 MessageID 会递增,请在某些字段上使用类似的东西
  • 在服务器上,不仅给每个客户端消息,还给每个客户端 ID
  • 让客户端保留此 ID 并将其用作下一次轮询的过滤器

模型 #2 需要你

  • 有另一个带有“ClientID 和 MessageID”的表
  • 每当客户收到消息时,在那里创建一条记录
  • 使用不存在这样的记录作为轮询过滤器
于 2012-05-14T09:12:56.510 回答