А зачем кнопка посчитать? Легче было бы пользоваться если бы шёл автоматический рассчёт, как мне кажется. А вместо модалок с сообщениями об ошибках показывать уведомления прям на главной форме.
Тоже про это в первом отзыве писал, пока не хочет, но ничего, к какой-нибудь итерации и до такого рокет сайнса дойдем)
Цитата:
Сообщение от Neil
вход: 192.168.0.1/28
выход: 14 хостов + адрес сети и броадкаст = 16
вход: делим на 2 подсети
выход: 2 сети по 6 хостов = 12 + 2 (к одной добавляется броадкаст, к другой адрес сети) + 2 адреса (первый и последний) исходной сети = 16
вход: делим на 8 подсетей
выход: 8 подсетей с адресами самих сетей и первым IP, он же и последний (считай броадкаст)
хостов в такой сети нет если же посчитать общее кол-во адресов в 8 подсетях,
то получим 16
Вот это все бы в явном виде. Мол, вот адреса такие, вот эти для этого, а эти и использовать можно. Когда у тебя просто показывается первый адрес сети и пустота в остальных местах - страшно. А подсети с 0 хостов имеют вообще смысл? Имею в виду: есть ли смысл давать выбирать такие конфигурации тогда? Может лучше тоже ошибку показывать?
Цитата:
Сообщение от Neil
будет репа, будет! НО потом
Не надо стесняться своего кода, если оно компилируется, запускается и выполняет свою работу - это уже лучше, чем многие пишут в продакшн за деньги.
Этот пользователь поблагодарил BigO(а) за это полезное сообщение:
...
Вот это все бы в явном виде. Мол, вот адреса такие, вот эти для этого, а эти и использовать можно...
в этом и была задумка - показать новичку / интересующемуся как всё происходит,
НО выше меня подтолкнули к минимализму
добавлю и примеры побитовых операций, НО! мне кажется это может только запутать
Цитата:
Сообщение от BigO
... Когда у тебя просто показывается первый адрес сети и пустота в остальных местах - страшно. А подсети с 0 хостов имеют вообще смысл? Имею в виду: есть ли смысл давать выбирать такие конфигурации тогда? Может лучше тоже ошибку показывать?...
а в SOHO маршрутизаторах со стандартным 192.168.1.1 можно выбрать подсеть 255.255.255.254?
я бы попробовал. НО мне завтра ещё работать в моём 841n есть рандом по маске.
НО не хочется перенастраивать... в итоге для этого есть и такой функционал в моём приложении
сети с 0 хостов имеют смысл. их можно посчитать
Цитата:
Сообщение от BigO
... Не надо стесняться своего кода, если оно компилируется, запускается и выполняет свою работу - это уже лучше, чем многие пишут в продакшн за деньги.
Благодарю. я не из-за стеснения. у меня руки не доходят
можно проще
...
using System;
using System.Net;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Netuter
{
public partial class Glavnoe_Okno : Form
{
struct Net
{
public byte[] ip;
public byte[] maska;
public byte[] wildcard;
public byte biti_v_maske;
public ulong hosti;
public byte[] set;
public byte[] minip;
public byte[] broadcast;
public byte[] maxip;
}
public Glavnoe_Okno()
{
InitializeComponent();
Pole_Vvoda_IP.SelectedItem = "192.168.0.1";
Pole_Vvoda_Maski.SelectedItem = "255.255.255.0";
Pole_KolVo_Podsetei.SelectedItem = "4";
}
private void Glavnoe_Okno_Load(object sender, EventArgs e)
{}
private void Poschitat_Click(object sender, EventArgs e)
{
Pole_Vivoda_Bit_V_Maske.Clear();
Pole_Vivoda_Seti.Clear();
Pole_Vivoda_Broadcast.Clear();
Pole_Vivoda_Wildcard.Clear();
Pole_Vivoda_MinIP.Clear();
Pole_Vivoda_MaxIP.Clear();
Pole_Vivoda_Hostov.Clear();
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
Мальчик сказал папе: “Я хочу кушать”. Папа отправил его к маме.
Мальчик сказал маме: “Я хочу кушать”. Мама отправила его к папе.
И бегал так мальчик, пока в один момент не упал.
Что случилось с мальчиком? TTL кончился.