问题 如何学习为游戏创建HTTP服务器?

新成员
已加入
2019年12月13日
留言内容
2
编程经验
1-3
您好,我是服务器编程的新手,我很想使用C#(我知道的唯一语言)来创建小型Unity游戏,现在我需要一个简单的服务器供玩家登录并保存其进度,也许还会生成一些随机数游戏性。
服务器不需要非常迅速地响应客户端,也不需要维持与客户端的连接,只有客户端在需要时才调用服务器。而且我不想直接进行底层套接字编程。我认为HTTP类型的服务器可能就可以完成工作(我也在客户端使用HTTP模块)。
因此,在这种情况下,我想知道我应该学习什么,或者我是否可以利用某些框架/架构。我应该学习ASP.NET吗?但这是用于游戏的,不会涉及任何网页。我是服务器编程的新手,所以如果我以错误的方式提出问题,我们深感抱歉。
顺便说一句,我不想​​使用诸如Photon或Unity网络功能之类的游戏服务器引擎,只想构建自己的东西(但是如果我可以使用某些框架/架构,那也很好)。
非常感谢您检查我的问题。
 

跳伞者

工作人员
已加入
2019年4月6日
留言内容
2,609
地点
弗吉尼亚州切萨皮克
编程经验
10+
您有一个Azure帐户吗?如果是这样,Azure功能可能就是您所需要的。

另一方面,直接跳转到ASP.NET的WebApi就是实现某些Web服务所需的全部。您实际上并不需要实现基于Web的UI。

如果您是服务器编程的完整入门者,我建议您在实施东西时要格外小心。是的,您的游戏数据可能没有任何真正的价值,并且即使有人成功入侵也没关系,但是有人可以将您的Web服务器用作其他服务的立足点。也许您存储了玩家的电子邮件和密码。黑客现在可以尝试使用这些电子邮件来发送垃圾邮件,还可以尝试使用这些电子邮件和密码组合来破解其他东西,例如环网摄像机。也许您没有打开数据库密码,而只是将相同的密码用于其他帐户。否则,黑客可能会开始在您的Web服务器上托管其网络钓鱼页面。

这并不是要吓server您进行服务器开发。这是一个充满乐趣和获利机会的地区。在探索时,请务必谨慎。我敢肯定,这个论坛上的人们将不仅仅慷慨地审查您的设计/代码并提供建议。

祝您比赛顺利!
 

新成员
已加入
2019年12月13日
留言内容
2
编程经验
1-3
您有一个Azure帐户吗?如果是这样,Azure功能可能就是您所需要的。

另一方面,直接跳转到ASP.NET的WebApi就是实现某些Web服务所需的全部。您实际上并不需要实现基于Web的UI。

如果您是服务器编程的完整入门者,我建议您在实施东西时要格外小心。是的,您的游戏数据可能没有任何真正的价值,并且即使有人成功入侵也没关系,但是有人可以将您的Web服务器用作其他服务的立足点。也许您存储了玩家的电子邮件和密码。黑客现在可以尝试使用这些电子邮件来发送垃圾邮件,还可以尝试使用这些电子邮件和密码组合来破解其他东西,例如环网摄像机。也许您没有打开数据库密码,而只是将相同的密码用于其他帐户。否则,黑客可能会开始在您的Web服务器上托管其网络钓鱼页面。

这并不是要吓server您进行服务器开发。这是一个充满乐趣和获利机会的地区。在探索时,请务必谨慎。我敢肯定,这个论坛上的人们将不仅仅慷慨地审查您的设计/代码并提供建议。

祝您比赛顺利!

非常感谢您提供的所有信息。我尝试使用.net HttpServer创建一个非常简单的游戏服务器,它在一定程度上可以实现少量并发,但是我认为这不是最好的方法,因此发现我很难进行改进,而我知道的唯一安全性问题是SQL注入,主要是为了停止DB的运行而进行的,因此并不像您所描述的那样危险。后来,我正在考虑使玩家能够使用第三方帐户服务登录,希望通过不要求实际的用户名和密码来保护他们的帐户信息。但是无论如何,就像您说的那样,目前服务器数据并不宝贵,因此我将重点放在开发游戏运行所需的功能上,但是在涉及服务期间的安全性问题时,我一定会谨慎行事。
在阅读文章,回复并与有经验的人联系之后,正如您所建议的,使用ASP.net core(3.0)Web api似乎是我现在开始的最佳解决方案,并且我已经一些教程和源代码需要学习 😁 我稍后会再提出更具体的问题,并从这里的人们那里获得更多帮助。
 
最佳 底部