dotSITE
Work in Murano Software. Вопросы/Ответы Учебник по ASP.NET
новости материалы решения форумы группы настройки/о проекте

Автор: Suprunenko Vladyslav
Тема: Проблема с Socket в .NET
Дата: 30.05.2002 16:32:00
Я пишу маленькое приложение, которое использует System.Net.Sockets. Для того, чтобы сервер "слушал" клиентов я пишу что-то вроде:

static void Main(string[] args)
{
TcpListener tcpl = new TcpListener(8888);
tcpl.Start();
int requestnumber = 0;
while (true)
{
Console.WriteLine("Waiting...");
TcpClient tcpclient = tcpl.AcceptTcpClient();
Console.WriteLine("Request " + (++requestnumber).ToString());
tcpclient.Close();
}
}

и клиент:

static void Main(string[] args)
{
DateTime timebegin = DateTime.Now;
for(int i = 0; i < 100; i++)
{
HttpWebRequest wReq =
(HttpWebRequest)WebRequest.Create(@"http:\\localhost:8888");
wReq.Method = "POST";
byte[] bytes = System.Text.Encoding.ASCII.GetBytes("Hello");
wReq.ContentLength = bytes.Length;
try
{
using(Stream outputStream = wReq.GetRequestStream())
outputStream.Write (bytes, 0, bytes.Length);
}
catch(Exception) {}
try
{
HttpWebResponse wResp = (HttpWebResponse)wReq.GetResponse();
using(StreamReader reader = new
StreamReader(wResp.GetResponseStream(),System.Text.Encoding.UTF8))
reader.ReadToEnd();
}
catch(Exception) {}
}
Console.WriteLine((DateTime.Now - timebegin).ToString());
Console.ReadLine();
}

Все работает нормально, кроме одного - слишком долго обрабатывается запрос от клиента. Порядка 300-400 миллисекуд. Причем "тормоз" происходит именно на
строчке TcpClient client = listener.AcceptTcpClient(); ПРи всем при том, загруженность процессора порядка 1-2 процентов и винчестер "молчит". Т.е. - дело не в ресурсах...
Что происходит? Почему так долго? Есть ли какой-то вариант от этого избавиться?






 C# -- Программирование на C#
 Проблема с Socket в .NET Suprunenko Vladyslav    30.05.2002 16:32:00
 RE: Проблема с Socket в .NET Anonymous    23.12.2009 11:01:00
 RE[2]: Проблема с Socket в .NET Шмачилин Павел    23.12.2009 23:20:00


Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2010 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development