2015-08-28 90 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

相關問題