首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >c#中具有后端的跨平台聊天应用程序的实现

c#中具有后端的跨平台聊天应用程序的实现
EN

Stack Overflow用户
提问于 2013-07-28 13:48:04
回答 1查看 1.5K关注 0票数 1

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

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

我觉得这样做不是一个好办法。我正在为近30000的目标观众制作这个应用程序。他们可以在一次会议上一对一地聊天。

我只想知道我是朝着正确的方向前进,还是有更好的方法使用后端来制作聊天应用程序。

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

Edit是任何著名聊天应用的一个例子,比如whats,facebook将是一个很大的帮助。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-28 13:55:26

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

这样做的主要好处是,您可以将客户端连接到服务器,客户机几乎可以是任何语言,而不必是C# --只要该语言支持套接字,就可以了。

除此之外,您还可以让客户端监听服务器,这就不需要每隔几秒钟轮询服务器上的新消息;客户端套接字将在服务器发送数据时接收数据,您几乎可以实时地处理它,而如果您在HTTP上轮询新消息(比如3秒),那么您的聊天服务总是会出现延迟,我认为这是您想要避免的。

请参阅上面链接的CodeReview I上的代码示例,并阅读Socket在C#中的工作方式、TCP在保证方面的工作方式(TCP保证通过它发送的任何内容都会以相同的顺序在另一边结束,但不一定在一个数据包中,等等),我很有信心,如果您将所有这些都很好地使用,您将能够制作出一个优秀的聊天应用程序。

编辑:我刚注意到你的帖子上有WCF标签。对于这个特定的项目,我个人会避开它,因为您希望实现跨平台的支持;尽可能低级别的尝试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17908862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档