【问题标题】:asp.net core 3 server websocket supportasp.net core 3 服务器 websocket 支持
【发布时间】:2019-12-02 11:37:51
【问题描述】:

我在 asp.net core 3 MVC 中有一个用于我的游戏的 REST 服务器 ...

客户端是 Unity3D。

我想为这个服务器的一部分提供一些 websockets 的东西。

我以前做过 websocket 服务器。我有一个控制台应用程序作为服务器,我在客户端 (unity3d) 和服务器上都使用了 websocket-sharp 库。

我试图在我的新服务器上实现 websocket sharp,但似乎这个库在 iis 上不起作用......

我在将 websocket 添加到这个新服务器时遇到问题。

大家搜索到这个issue后首先看到的结果是SignalR。它没有 unity3d 客户端。 (其实有一个non-official 端口,但正如作者所说:它没有经过广泛的测试)

还有pure websocket。但我根本无法连接到服务器。我正在使用browser websocket client 来测试我的服务器。

我还发现了一些人whowrotesome中间件的东西。

即使在克隆了他们的存储库之后,他们也没有为我工作。

唯一一个有点半成品的,是this one

为什么是“半成品”?

克隆他的代表(mvc 示例)后,我可以连接到服务器。我什至将目标更改为 dotnetcore 3,一切正常。

但是当我将他的类复制粘贴到另一个针对 dotnetcore 3 的项目时(我做了 EnableEndpointRouting=false 的东西),客户端无法连接到服务器...

谁能帮我解决这个问题?

我是否遗漏了任何配置内容?

【问题讨论】:

标签: c# unity3d asp.net-core iis websocket


【解决方案1】:

使用 Kestrel 而不是 IIS。

如果您真的想编写 C# 服务器,您应该熟悉如何完全以编程方式启动服务器。

您可以查看在 Unity 客户端 here 中运行的 SignalR 服务器和客户端的两个玩家联网示例。您无需修改​​任何源即可使 AspNetCore SignalR 在 Unity 中工作。这在我的 macOS 编辑器上运行良好。

否则使用内置的 C# websocket 服务器类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    • 2021-10-23
    • 2020-05-19
    • 2011-02-24
    • 1970-01-01
    • 2020-06-09
    相关资源
    最近更新 更多