3

我有一个社交网站,其设计类似于 myspace/facebook 类型的社区,我在 LAMP 设置上使用 php/mysql。
我一直想拥有自己的即时通讯工具,可以在用户的​​ PC 上运行,类似于 AIM

对于我的网站,这意味着程序中的好友列表将由我网站上的用户组成,并且还会在旁边显示用户图像

名称和指向我网站上个人资料的链接。

现在我知道这是可能的,但让我不想这样做的是它需要的服务器资源。所以我问,

如果你要这样做,你会怎么做?

你会用什么语言制作 .exe 程序?

有没有办法让一个用户连接到另一个用户,这样他们之间的每条消息都不会打到我的mysql数据库?

欢迎任何提示/建议/建议

4

3 回答 3

5

使用 JAVA(和 XML)或任何其他语言对 SOAP(简单对象访问协议)进行编码更加容易和快捷。

于 2011-04-21T12:45:24.117 回答
4

我建议您使用 Jabber 的核心协议 XMPP。

http://xmpp.org/

它是许多网站使用的协议,例如 Google Talk。

如果您想明显地保留日志,您将需要一个数据库。如果它是纯实时的,那么您可能不需要通过数据库存储消息。

如果您只是想在您的网站上使用 ajax 聊天功能,您应该在线搜索,因为它们有很多。如果您只是想要一个通用聊天服务器,只需使用 Jabber 或 IRC。

于 2009-08-14T02:54:07.303 回答
1

点对点聊天与任何类型的 p2p 系统都有相同的陷阱,那就是几乎每个人都坐在硬件防火墙后面。几乎没有人知道如何更改他们的防火墙规则,而且更不会。

不过,您不必让聊天服务器访问您的数据库。最简单的聊天协议实际上只不过是某种代理。客户端 A 连接到服务器,客户端 B 连接到服务器,来自客户端 A 的消息被转发到客户端 B。非常快,非常简单,可以处理很多客户端(我们这里说的是数千个。)。我建议你实现一个有限的消息缓存(比如 5 到 10 条消息),因为很少有事情会混淆两个聊天的人,因为随机消息会被丢弃。缓存一些消息,要求客户端为每条消息提供 ACK 信号……等等等等。

于 2009-08-14T02:56:21.060 回答