.Net服务器开发功能

时间:2017-03-05 15:13:42

标签: c# .net server

我要开发一个在线游戏,我有点困惑如何设置我的 将向/从客户端(播放器)发送/接收的数据。为了有一个响应服务器,可以毫不拖延地为大量玩家提供服务。

我需要知道几个问题。

  • 是C#一个很好的服务器开发语言吗?
  • 我必须为我的游戏实施RTP协议吗?或者有 图书馆?
  • 为我的游戏编写自己的协议是个好主意吗?
  • 像字符串数据一样发送/接收数据游戏是个好主意 对象?你的想法是什么?
  • 什么是最好的数据包?

感谢你的帮助。真诚的你

2 个答案:

答案 0 :(得分:1)

这很复杂。我会从一本关于计算机游戏网络主题的好书开始。

然后我会尝试尽可能多地获取有关Unreal或Battlefield等当前游戏架构的信息。

但如果我自己离开,我会调查可靠的udp 并尽可能少地发送数据(使用位)。

答案 1 :(得分:1)

@ Mr.AF,你的问题有些模棱两可,并没有谈到具体的问题(编译器有些例外或错误),但我尽力回答:

你的问题是关于设计的问题,因为你想要实现一个通信协议,但你不知道是否有一个SDK可以帮助你实现。

  

我必须为我的游戏实现RTP协议?还是有库?

     

为我的游戏编写自己的协议是个好主意吗?

根据我的经验,最好设计自己的协议,因为您将拥有关于服务器和客户端之间传输的信息的所有控制权。

  

是C#一个很好的服务器开发语言吗?

这取决于如何设计您的服务来获取recive和发送服务器的消息。我在C#中制作了一些WindowsService来按小时处理大约3K请求,使用Windows套接字,并且它没有性能问题。因此,您可以尝试使用C#开发服务器。

  

4 - 像字符串数据或对象一样发送/接收数据的游戏是个好主意吗?你的想法是什么?

     

5-什么是最好的数据包?

如果你想要一个RTP协议,在协议中使用字符串可能是一个坏主意,因为它比具有字节结构的协议更重要。

考虑一个必须具有基本部分的协议:标题数据

其中:

  • 标题始终具有相同的大小。
  • 标题将具有以字节为单位的数据大小,例如: 32字节= 0x20
  • 如果使用UTF-16,则使用一个字节,如果使用UTF-16,则发送字符串,但在任何字符串设置此字段的大小之前,或设置一个pedefined大小,例如:如果要发送字符串“ Helo“有字符你可以使用一个字节的大小,字节流可以像:

尺寸= 4 字符:'H'(0x48),'e'(0x65),'l'(0x6c),'l'(0x6c)和'o'(0x6f)。

字节流,是:

04 48 65 6c 6c 6f

如你所见,你的问题没有具体的答案,这就是我能为你做的。

我希望这些信息可以帮助您了解您需要知道什么以及如何将您的问题划分为特定主题