Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C# Перевод из C в C# (определение маски для разбиения на подсети) https://www.cyberforum.ru/ csharp-beginners/ thread1715617.html
Помогите пожалуйста перевести код из C в С# необходимо разработать приложение на С/С++, которое по заданному классу (А, В или С), количеству подсетей N и максимальному количеству компьютеров M в подсети определяет маску для разбиения на подсети и список возможных IP-адресов подсетей. Если разбиение на подсети невозможно, приложение должно выдавать соответствующее сообщение об ошибке. ...
Преобразовать последовательность удалив каждый символ * и повторив каждый символ отличный от * C#
Даны натуральное число n, символы s1,...,sn. Преобразовать последовательность s1,...,sn, удалив каждый символ * и повторив каждый символ отличный от *. Данная задача есть на Паскале, но С# нету: program p1; var s, sn:string; i : string;
C# Как сделать так, чтобы используя checkbox активировать чтение и запись документа из textBox https://www.cyberforum.ru/ csharp-beginners/ thread1715595.html
Как сделать так, чтобы используя checkbox активировать чтение и запись документа из textBox.
C# Защита библиотеки от просмотра и изменения https://www.cyberforum.ru/ csharp-beginners/ thread1715589.html
Возможно ли запретить пользователю, который будет пользоваться моей библиотекой, просматривать её или изменять в ней код?
C# Добавить букву "ё" в шифр Цезаря
Доброго времени суток. Есть программа которая шифрует и дешифрует текст шифром Цезаря. Но в ее алфавит не включена буква "ё". Можно ли ее туда добавить и если можно, то как? Спасибо. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Shifrovanie_Cezar { class Program
C# FileInfo CreationTime некорректное время https://www.cyberforum.ru/ csharp-beginners/ thread1715573.html
Всем привет, проблем в том,что при попытке узнать время создания файла я получаю строку вида {01.01.1601 3:00:00} . Поискал ответа в инете ,но не нашел решения. Здесь описана проблема,но я так и не понял как решить её.http://stackoverflow.com/questions/15650218/directoryinfo-creationtime-returns-strange-date
C# Потеря значений в массиве double https://www.cyberforum.ru/ csharp-beginners/ thread1715499.html
Доброго дня. Наткнулся на проблему с потерей значений в массиве, а конкретно при сортировках. Суть программы в том что есть 4 метода сортировки, и рандомно созданный массив чисел. Этот рандомный набор может быть уже отсортирован по возрастанию или по убыванию. Проблема на этапе сортировки рандомного массива. Структуры программы вкратце: Функция рандомного заполнения массива числами, его вывод...
Классы: юзер и сервер C#
И так, форумчане, приветствую, есть два класса, Юзер и Сервер. public class User { public string name; public string surname; public string country; public string sex; //male or female public int age; public string mail; public string login;
C# Найти среднее арифметическое каждого из столбцов матрицы https://www.cyberforum.ru/ csharp-beginners/ thread1715467.html
Первая задача: Даны натуральное число n, действительная матрица nx9, Найти среднее арифметическое каждого из столбцов. Эта же задача есть на С++, но вот на C# нету: #include <stdio.h> #include <iostream> #include <cmath> using namespace std;
C# Разрешить одновременную работу только двух процессов https://www.cyberforum.ru/ csharp-beginners/ thread1715455.html
Условие задачи. Создать три процесса . Гарантировать наличие в памяти только двух процессов , другой должен прекратить работу. Вопрос как создать те 3 процесса?
C# Раскрытие интерфейса и реализация классов
Для массива объектов, которые раскрывают интерфейс IMathObject, создать метод-обобщение, который выполняет операцию - Сложение. Класс: Дробь, вектор За ранее спасибо.
C# Работа с перечислениями и структурами https://www.cyberforum.ru/ csharp-beginners/ thread1715437.html
Разработать программу, в которой выполняется ввод списка записей. Сначала в программе должен вводиться размер списка (целое число), а сам список создается в виде массива структур в динамической памяти. НАКЛАДНАЯ: номер накладной (целое число, уникальное поле); дата накладной (в формате дд.мм.гггг); общая сумма по накладной (вещественное число); ФИО ответственного лица (строка 20...
11 / 1 / 1
Регистрация: 09.02.2016
Сообщений: 95
0

Медленный пинг - C# - Ответ 9042759

19.04.2016, 19:23. Показов 1301. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, уважаемые знатоки

Собственно возникла проблема в timeout ping.SendPingAsync(...);

Проблема:
Дело в том, что на вход, допустим поступает 100+ IP адрессов, все бы хорошо, но сканит он их относительно медленно.
А точнее, если компьютеры онлайн - вуаля, пару секунд и все готово... Но если большинство из них имеют статус Offline - то это уже мука.

Возможное решение:
Указать параметр timeout... Но как ни странно - это не помогает.

Мой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private async void button2_Click(object sender, EventArgs e)
{
    Ping ping = new Ping();
    PingReply reply;
 
    try
    {
        string IP = node.Text;
        reply = await ping.SendPingAsync(IP, 5);
        
        status = reply.Status == IPStatus.Success ? 1 : 2;
    }
    catch
    {
        // ...
    }
    finally
    {
        // ...
    }
}
При проверке всей подсети, уходит около минуты - это очень долго. В то время, как тот-же LanScope справляется в 10-15 секунд. Как быть? Может есть другие варианты проверки статуса компьютера?

Добавлено через 44 минуты
Нашел как вариант запустить пинг в 40 потоков (но это походу уже идиотизм)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System;
using System.Collections;
using System.Net.NetworkInformation;
using System.Threading;
 
namespace PingThreading
{
    class Program
    {
        public static Queue targets = Queue.Synchronized(new Queue());
        public static Queue results = Queue.Synchronized(new Queue());
 
        static void Main(string[] args)
        {
            DateTime start = DateTime.Now;
 
           //Load ipaddresses into targets queue
            for (int i = 1; i < 255; i++)
            {
                targets.Enqueue(string.Format("192.168.0.{0}", i));
            }
 
            int threadIsAliveCount = 0;
 
           //Specify number of threads
            Thread[] t = new Thread[40];
 
           //Start up the threads
            for (int i = 0; i < t.Length; i++)
            {
                t[i] = new Thread(new ThreadStart(pinger));
                t[i].Start();
                threadIsAliveCount++;
            }
 
            //Loop if threads are still active
            while (threadIsAliveCount > 0)
            {
                threadIsAliveCount = 0;
                foreach (Thread et in t)
                {
                    if (et.IsAlive)
                    {
                        threadIsAliveCount++;
                    }
                }
 
                //Dequeue results and output to console
                while (results.Count > 0)
                {
                    Console.WriteLine("{0}", results.Dequeue());
                }
            }
 
            Console.WriteLine("All done, elapsed seconds = {0}",
                    DateTime.Now.Subtract(start).Seconds);
        }
 
        //Action module executed by each thread
        static void pinger()
        {
            while (targets.Count>0)
            {
                string addr = targets.Dequeue().ToString();
                if (new Ping().Send(addr, 1000).Status == IPStatus.Success)
                {
                    results.Enqueue(addr);
                }
            }
 
            //Delay thread termination by 500ms to allow dequeueing of results.
            Thread.Sleep(500);
        }
    }
}
Добавлено через 17 минут
Однако это тоже не помогло в WinForm приложении...

Вернуться к обсуждению:
Медленный пинг C#
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2016, 19:23
Готовые ответы и решения:

Почему такой способ копирования значений байт Bitmap медленный?
public static byte BitmapToByteRgbNaive(Bitmap bmp) { int width = bmp.Width, height...

Чтение COM-порта: медленный вывод в textBox несколько тысяч строк (метод AppendText)
Доброго времени суток! Читаю данные с последовательного порта. Конвертирую каждые три байта и...

Пинг Понг в C#
Кто знает как сделать пинг понг в C#

Ограничение на пинг
Здравствуйте, софтина пингует несколько адресов по таймеру, но при таймауте на одном зависает ,...

2
19.04.2016, 19:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2016, 19:23
Помогаю со студенческими работами здесь

Пинг-понг
ребята Help please1 Надо сделать пинг-понг, вроде все более-менее вот тока отбивание от реек чере...

Создать команду пинг
Доброе время суток. Помогите создать Консольное приложение, для Пинга сети от...

Асинхронный пинг списка адресов
C# изучаю недавно, возникла потребность решить одну задачу. Суть задачи: Программа получает...

Игра на подобии пинг-понга
Необходима ваша помощь. Срочно очень! Нужно создать программу с использованием принципов ООП на...

Пинг понг, рассчитать направление шарика
Добрый вечер) пишу курсовую. времени до сдачи осталось мало. у меня такая проблема - не могу...

Медленный SharpDX 2D
Привет всем! Есть задача: отрисовать около 150 многоугольников примерно по 100-200 точек,...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru