我已經實現了使用Alchemy網絡插座網絡插座服務器,現在想強調測試。我已用C#編寫下面的方法來創建多個客戶端連接到服務器併發送一些數據:但是該服務器接收以下信息(甚至用少量例如100)網絡套接字消息
private void TestWebSocket()
{
int clients = 10;
long messages = 10000;
long messagesSent = 0;
String host = "127.0.0.1";
String port = "11005";
WSclient[] clientArr = new WSclient[clients];
for (int i = 0; i < clientArr.Length; i++)
{
clientArr[i] = new WSclient(host, port);
}
Random random = new Random();
var sw = Stopwatch.StartNew();
for (int i = 0; i < messages; i++)
{
clientArr[i % clients].Send("Message " + i);
messagesSent++;
}
sw.Stop();
Console.WriteLine("Clients " + clients);
Console.WriteLine("Messages to Send" + messages);
Console.WriteLine("Messages Sent " + messagesSent);
Console.WriteLine("Time " + sw.Elapsed.TotalSeconds);
Console.WriteLine("Messages/s: " + messages/sw.Elapsed.TotalSeconds);
Console.ReadLine();
for (int i = 0; i < clientArr.Length; i++)
{
clientArr[i].Disconnect();
}
Console.ReadLine();
}
。或有時多個消息被接收作爲單個消息例如:
消息1 = ABC消息2 = DEF
接收爲= ABCDEF
我試圖或多或少複製所示here的例子。目前服務器和客戶端都在本地運行。關於什麼問題或者如何改進測試方法的想法?
好了,所以這不是我的問題,感謝您的幫助,我會嘗試使用替代的網絡套接字實現。 – Matt 2013-03-06 14:42:00