Маска сети

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Маска сети

Сообщение Sirik » 18.10.2004 (Пн) 9:59

Как узнать какая маска сети установленна на компе? (обычно 255.255.255.0 - но бывают же исключения 8) )

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.10.2004 (Пн) 10:52

GetIpAddrTable

Пример писать?
Изображение

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 18.10.2004 (Пн) 11:24

Обязательно

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.10.2004 (Пн) 15:58

Ничего, что поздно?

Код: Выделить всё
Option Explicit

Private Const ANY_SIZE = 16             ' сколько ожидается IP-адресов в системе
Private Type MIB_IPADDRROW
  dwAddr(0 To 3) As Byte                ' IP address
  dwIndex As Long                       ' interface index
  dwMask(0 To 3) As Byte                ' subnet mask
  dwBCastAddr(0 To 3) As Byte           ' broadcast address
  dwReasmSize As Long                   ' rassembly size
  unused As Long                        ' not currently used
End Type
Private Type MIB_IPADDRTABLE
  dwNumEntries As Long                  ' number of entries in the table
  Table(1 To ANY_SIZE) As MIB_IPADDRROW ' array of IP address entries
End Type
Private Declare Function GetIpAddrTable Lib "iphlpapi" (pIpAddrTable As MIB_IPADDRTABLE, pdwSize As Long, ByVal bOrder As Long) As Long

Sub Main()
Dim Table As MIB_IPADDRTABLE, i As Long
If GetIpAddrTable(Table, Len(Table), 0) = 0 Then
With Table
    For i = 1 To .dwNumEntries
    With .Table(i)
        Debug.Print "IP: " & .dwAddr(0) & "." & .dwAddr(1) & "." & .dwAddr(2) & "." & .dwAddr(3)
        Debug.Print "Interface #: " & .dwIndex
        Debug.Print "Subnet mask: " & .dwMask(0) & "." & .dwMask(1) & "." & .dwMask(2) & "." & .dwMask(3)
        Debug.Print "Broadcast: " & .dwBCastAddr(0) & "." & .dwBCastAddr(1) & "." & .dwBCastAddr(2) & "." & .dwBCastAddr(3)
        Debug.Print
    End With
    Next
End With
End If
End Sub
Изображение

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 18.10.2004 (Пн) 16:02

Нет, не поздно. Спасибо очень помогло.
Но только вопрос: почему у меня два IP?

Насколько я знаю адресс 127.0.0.1 - назначается когда комп отлючается от локальной сети ?!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 18.10.2004 (Пн) 16:09

127.0.0.1 - это всегда ты. В любой сети :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.10.2004 (Пн) 16:10

У тебя всегда два IP, просто тот, который соответствует реальной сетевухе, стоит как "по умолчанию", и весь тот трафик, про который явно не указано, что он должен идти через 127.0.0.1, идёт через него.
127.0.0.1 соответствует "виртуальной" сетевухе и всегда доступен, даже когда на компьютере нет сети.
Изображение

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 18.10.2004 (Пн) 16:15

ну допустим и не всегда, нужно чтобы сетевая поддержка в ОС стояла

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 18.10.2004 (Пн) 16:18

А её можно и убрать? 8-|
А как? И главное, зачем?
Изображение

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 18.10.2004 (Пн) 16:20

Ну вот, началось!
Я уже помошь получил, так нет умничать начинают (Konst_One)

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 18.10.2004 (Пн) 16:20

например в w95 сетевой интерфейс ставиться опционально.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 18.10.2004 (Пн) 16:22

ладно уж :) я просто уточнил на всякий случай. просто как-то раз уже была проблемка у одного клиента с прогой - он под w95 без сети ее пытался к инету подключить


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 118

    TopList