首页 / 问答 / 【.NET5】怎么将 Socket 数据转发到 WebSocket?

【.NET5】怎么将 Socket 数据转发到 WebSocket?

C# Web Api 2.37K 次浏览
0

准备学一个 .NET 5 写一个转发服务,大概逻辑是这样的:

  1. 前端发送 websocket 请求
  2. 建立连接后,向后端发送 socket 请求获取二进制数据
  3. 使用 websocket 把二进制数据转发给前端

二进数数据持续不断地接受的,我写的程序导致内存几分钟后满了,内存泄露了。不知道如何解决?能不能使用流这样的学法?刚学 C#,求教。

回复 [×]
提交评论
请输入评论内容

1 个回答

  • 1

    微软官方有WebSocket的使用示例,请参考:WebSockets support in ASP.NET Core
    除此之外,你也可以使用微软的Signalr,它是一个开源库,可简化向应用添加实时Web功能。实时Web功能使服务器端代码能够立即将内容推送到客户端。

    SignalR的使用场景包括:

    • 需要从服务器进行高频率更新的应用,比如:游戏、社交网络、投票、拍卖、地图和GPS应用。
    • 仪表板和监视应用,比如:公司仪表板、即时销售更新或旅行警报。
    • 协作应用,比如:白板应用和团队会议软件。
    • 需要通知的应用,比如:社交网络、电子邮件、聊天、游戏、旅行警报和很多其他应用都需使用通知。

    SignalR支持以下技术来处理实时通信:

    • WebSockets
    • 服务端发送事件
    • 长轮询
    Rector的个人主页

    Rector

    2021-08-28 回答

    我来回答