Asp.NET 5侦听tcp套接字

本文关键字:tcp 套接字 侦听 NET Asp | 更新日期: 2023-09-27 18:28:36

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

在Asp.Net5中有办法做到这一点吗?或者有计划吗?

Asp.NET 5侦听tcp套接字

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

您只需要一个对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"
      }
    }
  }
}