用C#套接字测量每秒发送的mb数量? (多线程)

时间:2017-05-04 04:38:31

标签: c# multithreading sockets udp flooding

我正在尝试创建一个多线程应用程序,它将尝试使用C#中的套接字将大量数据发送到特定的IP和端口。我已经完成了这项工作,但我需要帮助才能从中获取更多信息。

我想知道如何才能获得一秒钟发送的数据量?如果可能,以MB为单位,来自所有线程和所有请求?

我出于教育目的正在做这件事,看看实际上可以发送多少数据,以及在使用多线程时如何工作

这是我的代码:

static void Main(string[] args)
{
    int amountOfThreads = 10;

    while (amountOfThreads > 0)
    {
        Thread thread = new Thread(SendData);
        thread.Start();
    }
}

private static void SendData()
{
    byte[] dataToSend = Encoding.Default.GetBytes("some string that'll be sent many times.");

    string ipAddress = "127.0.0.1";
    int port = 3924;

    IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ipAddress), port);

    Socket socketToSendTo = new Socket(System.Net.Sockets.AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
    socketToSendTo.SendTo(dataToSend, ep);
}

0 个答案:

没有答案