【问题标题】:.NET Core Socket.BeginAccept missing.NET Core Socket.BeginAccept 缺失
【发布时间】:2017-03-06 17:31:46
【问题描述】:

我正在尝试使用 .NET Core 做一个异步服务器,我正在遵循本指南:https://msdn.microsoft.com/fr-fr/library/fx6588te(v=vs.110).aspx

但问题是 Visual Studio InteliSence 没有找到 BeginAccept 方法...我在 github 上查看了 corefx 源,并且存在 BeginAccept 方法。

也许 .NET Framework 的指南不适用于 .NET Core ...

您对如何使用Socket 类构建异步服务器有任何想法吗?谢谢

编辑:

有我的 project.json 文件:

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0"
  },

  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  }
}

【问题讨论】:

    标签: c# sockets .net-core


    【解决方案1】:

    此 API 在 .NET Core 上不可用。您需要改用 AcceptAsync,它适用于 .NET Core 和 .NET Framework。通常,XyzBegin 和 XyzEnd 样式的异步方法在 .NET Core 中不可用。

    此函数与其他 *Async API 有点不同,它不返回任务。相反,您传入SocketAsyncEventArgs。其中一个成员是Completed,这是一个在 Socket 完成连接时引发的事件。

    完整的文档和使用示例在链接文档中。

    【讨论】:

    • 感谢您的回答。我还有一个问题,我在文档中看到m_numConnections 字段表示的连接数是最大的。是一种在不使用最大连接数的情况下处理多个客户端的方法吗?这个样本是否适合处理大量客户?
    猜你喜欢
    • 1970-01-01
    • 2019-03-29
    • 2017-05-26
    • 2023-03-19
    • 1970-01-01
    • 2020-05-25
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多