Дать совет по оптимизации - C#
Формулировка задачи:
TcpListener TcpList;
Thread ThreadIsReadingTcp;
public TCP(int port)
{
TcpList = new TcpListener(IPAddress.Any, port);
TcpList.Start();
ThreadIsReadingTcp = new Thread(ReadingTcp);
ThreadIsReadingTcp.Start();
}
private void ReadingTcp()
{
while (true)
{
Socket serverSocket = TcpList.AcceptSocket(); // Ожидаем новых клиентов
if (serverSocket.Connected) // Если клиент подключился
{
(new System.Threading.Thread(delegate()
{
})).Start();
}
}
}Решение задачи: «Дать совет по оптимизации»
textual
Листинг программы
int session_id = 0;
int tmp_i = 0;
while (true)
{ tmp_i++; try { if (!(tmp["session"] as Dictionary<int, Stream>)[tmp_i].CanRead) { session_id = tmp_i; break; } } catch { session_id = tmp_i; break; } if (tmp_i > 100000) break; }
App.Print("New session #" + session_id, "TCP", ConsoleColor.Yellow);
(tmp["session"] as Dictionary<int, Stream>)[session_id] = new NetworkStream(serverSocket);