我想创建一个 asp.net 聊天应用程序,现在我有两个选择:
- 使用 TCP/IP 连接并在聊天者之间创建点对点连接。
- 使用数据库存储聊天文本并使用 Ajax 来创建聊天者之间的通信。
哪一个看起来像好的解决方案或有任何解决方案?
我假设你打算在浏览器中使用你的聊天,因为这与你想提供一个 webview 来嵌入你正在开发的本机应用程序有不同的要求。
解决方案 1 并不是一个真正的选择。您不能在浏览器中建立直接的 p2p 连接,至少在没有 java/flash/plugins 的情况下不能。
解决方案 2 可以工作,尽管您不一定需要数据库。除非您想保存聊天记录或提供离线消息,否则您可以简单地在服务器上缓存最近的消息。当消息超过几分钟时,您可能会认为它不再感兴趣。取决于您的需求。
另一个非常有趣的解决方案是 websockets。Websockets 基本上提供了一个与浏览器进行实时通信的接口,因此客户端不需要使用 ajax 轮询消息,而可以简单地保持与服务器的连接,当它们可用时提供更新(=新消息)。
由于 WebSockets 还没有得到普遍支持(尽管现在 firefox、chrome 和移动设备一般都提供了很好的支持),您可能应该设置一个 ajax 接口作为旧浏览器的后备。除此之外,我认为 WebSockets 是你最好的选择。