【问题标题】:Asp.NET 5 listen to tcp socketAsp.NET 5 监听 tcp 套接字
【发布时间】:2016-04-06 03:07:14
【问题描述】:

System.Net.Sockets 似乎只在 Asp.Net 4.5/4.6 中可用。

有没有办法在 Asp.Net 5 中做到这一点,或者有计划吗?

【问题讨论】:

  • 您是否包含了System.Net.Sockets 包的依赖项?
  • 如果它支持 .NET 5,我会的。因此我的问题 :)
  • 不确定你的意思。您应该在 project.json 文件中包含一个 Nuget 包。你试过吗?请发布您的 project.json 文件以及您尝试过的内容。

标签: c# asp.net sockets tcp asp.net-core


【解决方案1】:

根据这个答案:https://stackoverflow.com/a/32302367/1977808,您还必须在 package.json 文件中包含“System.Private.Networking”才能使用“System.Net.Sockets”,尽管我不确定这是为什么。

【讨论】:

    【解决方案2】:

    您只需要对System.Net.Sockets nuget 包的依赖。这是一个完整的例子:

    代码:

    using System;
    using System.Net;
    using System.Net.Sockets;
    using System.Threading.Tasks;
    
    public class Program
    {
        public static void Main(string[] args)
        {
            Listen().Wait();
        }
    
        static async Task Listen()
        {
            var listener = new TcpListener(IPAddress.Any, 10000);
            listener.Start();
            Console.WriteLine("Waiting for a connection");
            var socket = await listener.AcceptSocketAsync();
            Console.WriteLine("Client connected!");
        }
    }
    

    项目文件:

    {
      "version": "1.0.0-*",
      "description": "TestVSCode Console Application",
      "dependencies": {
        "System.Net.Sockets": "4.1.0-beta-23516",
      },
    
      "frameworks": {
        "dnxcore50": {
          "dependencies": {
            "System.Console": "4.0.0-beta-23516"
          }
        }
      }
    }
    

    【讨论】:

    • 我认为这个问题是关于 ASP.NET 的!
    • @TejasviHegde:当被问及这个问题时,“ASP.NET 5”是后来 ASP.NET Core 1.0 的名称。所以这个答案基本上是展示如何使TcpListener 在.NET Core 中可用。我碰巧在控制台应用程序中使用它这一事实无关紧要。
    猜你喜欢
    • 1970-01-01
    • 2017-10-16
    • 2011-02-15
    • 2011-03-31
    • 2016-11-13
    • 2013-03-29
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    相关资源
    最近更新 更多