gpt4 book ai didi

c# - 在c#中使用后端的跨平台聊天应用程序的方法

转载 作者:行者123 更新时间:2023-11-29 21:37:57 24 4
gpt4 key购买 nike

我想在 C# 中创建一个带有后端的跨平台聊天应用程序我搜索了一种方法,发现我可以通过向服务器上的处理程序发送 http 请求并相应地使用响应来做到这一点。所以到目前为止,我制作了可以添加用户、登录、发送和接收消息的处理程序,使用数据库进行存储。

现在我正在为此制作 android 客户端,并为我需要在特定时间间隔(3 秒)执行 http 请求的用户获取消息。

我觉得这不是一个好的方法。我正在为将近 30000 的目标受众制作此应用程序。他们将能够在一次 session 中一对一地聊天。

我只想知道我的方向是否正确,或者有更多更好的方法使用后端制作聊天应用程序。

我听说过 wcf,但我不清楚我应该采用什么方法。请指导我有关聊天应用程序的方法。

编辑任何著名的聊天应用程序(如 whats app、facebook messenger)的小例子将是一个很大的帮助。谢谢。

最佳答案

您可以使用 HTTP 来完成,但我建议改用 TCP。 codereview right here 上有一个基于 C# 的 TCP 服务器的非常坚实的基础它将概述如何处理 Socket 对象如何正确处理连接。

这样做的主要好处是您可以将客户端连接到服务器,并且客户端实际上可以是任何语言,不一定是 C# - 只要该语言支持套接字,您会没事的。

最重要的是,您可以让客户端监听服务器,这样就无需每隔几秒就轮询一次服务器以获取新消息;客户端套接字将在服务器发送数据时接收数据,您可以立即处理它,几乎是实时的,而如果您每隔 HTTP 轮询一次服务器以获取新消息 - 比如 3 秒 - 您将始终结束解决您的聊天服务延迟问题,我认为您会希望避免这种情况。

请参阅我在上面链接的 CodeReview 上的代码示例,并阅读有关 Socket 在 C# 中的工作方式,TCP 在保证方面的工作方式(TCP 保证通过它发送的任何内容都将结束在另一侧以相同的顺序,但不一定在一个数据包中,等等)而且我非常有信心,如果您充分利用它,您将能够制作出出色的聊天应用程序。

编辑:我刚刚注意到您帖子中的 WCF 标记。对于这个特定项目,我个人会避开它,因为您想获得跨平台支持;为此,请尽可能降低级别。

关于c# - 在c#中使用后端的跨平台聊天应用程序的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17908862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com