如何构建服务器

本文关键字:服务器 构建 何构建 | 更新日期: 2023-09-27 17:50:25

我是c#新手,决定编写一个小型客户端服务器聊天应用程序,通过通过学习新的语言。

我现在的问题是什么是最好的方式来编码服务器部分。

客户端是用c#构建的,现在MySQL连接到我的主机服务器(Linux)。但我意识到这是一种愚蠢的方式。所以我想写一个服务器部分,所有的客户端连接到,服务器将有一个MSSQL连接,并处理所有的请求和聊天委托。

所以我考虑的选项要么是

  • WCF服务(据我所知,它们可以安装在任何IIS服务器上)
  • Windows Service(不知道是否可以在主机上运行)
  • ASP。. NET WebService(这实际上只适用于接受请求的网站)
  • Node.js with socket.io
  • 其他选项吗?

你们认为对他来说最好的方法是什么?

要记住的是,我希望这个服务器是在线托管的,而不是花费大量的钱在vps服务器或类似的。

如何构建服务器

作为最高效的解决方案,您可能应该使用SignalR (http://signalr.net/)或ServiceStack (https://servicestack.net)。这两个"框架"都是完全兼容的,所以你可以在你的linux服务器上运行你构建的解决方案。

作为ORM-Mapper,您可以使用EntityFramework,它不仅允许您使用linux服务器,还允许您使用MySQL-DB。请参阅这篇博客文章了解更多细节:http://blog.3d-logic.com/2013/04/14/entity-framework-6-on-mono/

根据你的"其他语言"知识,你可能想从根本没有框架开始,而是从头开始构建一切。也许只有我一个人,但我学到了最多关于。net是如何工作的,因为我不得不"重建"像linq之类的东西。

您还可以考虑:

  1. ServiceStack
  2. asp.net Web Api

Windows Service不是一项技术,它可能被用作主机(IIS, Windows Service)

最简单的开始的方法是呆在微软的围墙花园并坚持他们关于如何完成的想法。微软开发者产品集成得非常好。

可能是一个控制台应用程序连接到使用实体框架连接到SQL Server的WCF服务。

设置起来相当简单。这方面的教程有很多。确保使用最近的教程,并尽量保持简单。

我建议不要写聊天,因为这需要轮询或推送机制。我认为这对于一个初学者项目来说是不必要的。编写一个数据驱动的应用程序,比如待办事项列表。以后再花心思。第一步已经够难的了。