2015-08-28 60 views
2

我正在用c#开发游戏服务器。服务器通过套接字与客户端通信,并使用自定义数据包协议发送字节[]。 现在的问题是,这个软件会是特定于Windows操作系统的,还是可以在Linux服务器上运行。我在不同的论坛上看过不同的帖子,开发人员说他们的服务器只是windows操作系统,有人说它可以在linux上运行。任何c#应用程序都可以在linux上运行

有什么特定的因素吗? 是否应用程序必须具体编写才能在Linux上运行?

+1

取决于您是否在Mono或.NET Core上运行它。有些东西没有实现,但大多数是 –

+0

假设您已经搜索了类似https://www.bing.com/search?q=c%23+run+on+linux的东西,但尚不清楚你的帖子与这个主题的一些现有问题有何不同。有了更多的细节,这个问题可能不应该重复。 –

回答

12

要使.NET代码能够在Linux上运行,您需要一个与该平台兼容的.NET版本。

完整的.NET是仅限于Windows的,但有一个在Linux上运行的Mono框架。 .NET Core也被移植到linux。

Mono或.NET Core都不支持整个标准.NET。例如,既不会让您运行WPF应用程序。所以只要你的代码与上述框架中的一个兼容,是的,你可以在Linux上运行它。

对于您的具体示例,应该支持您提到的类,并且我认为在Mono或.NET Core下运行时不会有任何问题。

+2

Mono已经支持近99.9%的.net框架,通常任何c#服务或控制台应用程序都可以工作,即使是针对.net编译而不是针对单声道。 – Gusman

+1

@Gusman这是真的,什么*不工作的最简单的例子是WPF(有一些.NET 4.5类不如IIRC)。 – BradleyDotNET

+0

因为我说控制台或服务:D,接口只是缺乏,因为它是非常特定的操作系统。是的,我喜欢Mono XD – Gusman

相关问题