Как я могу определить IP-адреса локальной машины от Perl?

Вам нужно сбросить счет игрока с битой, это должно сработать.

Вы можете попробовать этот код:

    @IBAction func resetScoreButton(_ sender: Any) {

     let batsmenOneScoreValue = 0
        displayBatsmenOneScoreLabel.text = String(batsmenOneScoreValue)
    }
9
задан brian d foy 1 December 2008 в 17:02
поделиться

4 ответа

Сеть:: Адрес:: IP:: Локальное обещание взглядов.

use Net::Address::IP::Local;

# Get the local system's IP address that is "en route" to "the internet":
my $address      = Net::Address::IP::Local->public;
15
ответ дан 4 December 2019 в 05:59
поделиться

Я имел хороший успех с IO:: Интерфейс на Linux и Солярисе, и я думаю, что он даже работал над AIX, но я не могу вспомнить наверняка. Вводя по абсолютному адресу вокруг на search.cpan.org, rt.cpan.org и различных сайтах ActiveState, это похоже на IO:: Интерфейс может испытывать проблемы сборки в Windows. Я предполагаю единственный способ знать, доступно ли это, должен искать io-интерфейс в PPM.

1
ответ дан 4 December 2019 в 05:59
поделиться

У Вас также есть некоторые другие опции, включая Ваше решение "установить сетевое соединение с известным IP и исследовать локальный IP-адрес сокета".

В этом случае (устанавливающий сетевое соединение) однако, та статья указывает что:

нет такой вещи как IP-адрес хоста.
Сетевые интерфейсы имеют IP-адреса, не хосты, и единственный сетевой интерфейс может иметь много (виртуальных) IP-адресов. Подсистема маршрутизации операционной системы решает который сетевой интерфейс и IP-адрес для использования для соединения с удаленной машиной.

Если Ваша машина только имеет один интерфейс внешней сети, и этот интерфейс только имеет один IP-адрес затем, этот IP-адрес обычно называют адресом машины, но это неточно.
Например, если машина будет подключена к VPN через виртуальный интерфейс, то она будет использовать IP-адрес этого интерфейса для соединения с другой машиной на VPN, не внешним IP-адресом

Среди других решений: использование"Sys::Hostname"
(Работы, если Sys::Hostname придумывает разрешимое имя хоста),

use Sys::Hostname;
use Socket;
my($addr)=inet_ntoa((gethostbyname(hostname))[4]);
print "$addr\n";
15
ответ дан 4 December 2019 в 05:59
поделиться

использовать WMI?

Пример извлечения IP-адресов (в Powershell, но довольно ясно, что происходит),

Пример доступа к WMI от Perl (не те же функции WMI, но снова процесс является довольно четким),

Править: после поиска на Google codesearch для Networkadapterconfiguration и языка "perl":

Пример похож в значительной степени, в чем Вы нуждаетесь

EDIT2: На самом деле код OCS, кажется, содержит код для большинства платформ, чтобы сделать это, поэтому в то время как не может быть никакого набора кода, который делает это, Вы можете снова использовать их идеи. Это - GPL'd, все же.

Например, вот код Соляриса. Другие биты покрывают BSD, Linux, MacOS...

0
ответ дан 4 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: