gpt4 book ai didi

asp.net - 从 REST 和服务器与客户端事件的角度理解 websocket

转载 作者:行者123 更新时间:2023-12-03 11:55:33 26 4
gpt4 key购买 nike

一段时间以来,我一直在我的项目设计中实现 RESTful API,因为在我的情况下,其他人能够以一致的格式与数据交互非常有用(而且我发现 REST 是一种干净的方式处理请求)。我现在不仅尝试为我的资源提供当前的 REST API,还尝试通过双向 websocket 连接公开一些信息。

在搜索实现 websocket 协议(protocol)的良好 .net 库后,我确实发现了 SignalR。我遇到了一些问题(可能是我的项目特有的?)

I want to be able to initialize a web socket connection through my existing REST API. (I don't know the proper practice to do this, but I figured a custom header would work fine) I would like them (the client) to be able to close the connection and get a http response back (101?) to signify its completion.



SignalR 的问题是:
  • 在集线器实例之外没有干净的方法来获取用户的连接 ID 并将其映射到外部 Controller ,在该 Controller 中进行的其余调用会影响将哪些数据广播到特定客户端(我不想使用外部存储器)
  • 对客户端代码的巨大依赖。我真的想让这个过程对客户端来说很简单,并在服务器端处理大部分工作(我希望修改我当前的 rest api 就能完成)。我看到客户的唯一责任是和平断开连接。

  • 所以现在的问题..

    .net 是否有一个很好的服务器端 websocket 库,它实现了最新的 web socket 协议(protocol)?客户端可以使用任何遵守该协议(protocol)的客户端库。将 Web 套接字连接和 restful api 结合起来的最佳实践是什么?

    最佳答案

    ASP.NET supports WebSockets itself如果您有 IIS8(仅限 Windows 8/2012 及更高版本)。 SignalR 只是一个 polyfill,

    如果你没有 IIS8,你可以使用像我这样的外部 WebSocket 框架:http://vtortola.github.io/WebSocketListener/

    干杯。

    关于asp.net - 从 REST 和服务器与客户端事件的角度理解 websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30657622/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com