我正在尝试创建一个多线程应用程序,它将尝试使用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);
}