Перейти к содержимому
  • 0
WheatComp

Вопросы по дискете Network (Network Stack) и сетях

Вопрос

Установил данную дискету. По команде в терминале man network дается описание команд. Функция

 network.ip.bind(addr)

привязывает дополнительный адрес к компьютеру. Как посмотреть этот привязанный адрес и как обращаться по этому адресу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

@eu_tomat @ECS@Fingercomp  , к сожалению, туториалов по этой дискете нет ни на английском, ни на русском. А жаль, дискета, по-моему, полезная, например, пинговать можно. Но вот чтобы получать сообщения, нужно, кажется, пользоваться дефолтной командой event.pull()?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

В качестве исключения отвечу так: дискета бесполезна, давно устарела, еле работает, не имеет документации, и кто-то из разрабов мода вообще собирался всех их выкинуть за ненадобностью. Если это не останавливает, разбираться прошу самостоятельно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Fingercomp сказал:

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

Поддерживаю. Я, например, не разбираюсь в ПО на лутовых дискетах, а в игре использую единственную дискету с OpenOS. Упоминать меня в этой теме не было смысла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

"Дискета бесполезна" - не знаю, пинг и переименование компьютера, по-моему, довольно полезны. Вот, допустим, установил вдалеке компьютер, а лень бегать к другому компьютеру посмотреть, установлена ли связь. Тут пинг очень даже удобен. Да и просто, "все как у людей", то бишь у реальных компьютеров - это cute. Непонятно, почему в OpenОS нет такого. Протоколы udp и tcp, может, и бесполезны. На мой взгляд, они дублируют стандартный modem.send(). Все равно же нужно обращаться к функции event.pull(). "Не имеет документации" - это действительно жаль, почему они не сделали нормальный туториал. Даже на этом форуме за все эти годы не появился туториал, только один раз спросили про дискеты и все. Выкидывать из мода все-таки не следует, мне кажется. Builder, digger - все они могут кому-то пригодиться, кто-то может взять их за основу своей программы.

А если вы не пользуетесь этой программой, то какой программой вы пользуетесь для сетевых дел? Потому что, честно говоря, встроенная сеть не очень удобна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
47 минут назад, WheatComp сказал:

"Не имеет документации" - это действительно жаль, почему они не сделали нормальный туториал. Даже на этом форуме за все эти годы не появился туториал, только один раз спросили про дискеты и все

Боюсь, лут-дискеты - это скорее примеры того, что можно сделать средствами мода, а не "убер-проги" на все случаи жизни. Реально полезны и функциональны из них лишь OpenOS, OPPM и IRC, остальные декоративно-рудиментарны. Предположу, что их не удаляют ради элемента фана - всегда забавно найти какую-нибудь рандомную софтину в адском данже. А, может быть, ради совместимости со старыми сейвами или просто потому что лень

 

47 минут назад, WheatComp сказал:

А если вы не пользуетесь этой программой, то какой программой вы пользуетесь для сетевых дел? Потому что, честно говоря, встроенная сеть не очень удобна.

Пишем собственные под конкретные задачи. Работа с сетью в опенкомпах довольно удобна, поэтому новый софт создаётся быстро, если, конечно, речь не идёт о шифровании или каких-то специфических форматах передачи данных с компрессией. Ну, а когда кодовая база становится довольно объёмной - оформляем её в виде библиотек и выкладываем, чтобы их засрали)0

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@ECS Почему-то начала выскакивать ошибка, как только открываю порт, на который приходит сообщение по сети: ERROR IN NET EVENTHANDLER[modem.lua]: /lib/network/modem.lua:31: attemtp to index a number value (local 'data')

Вот тут тоже человек столкнулся с похожей проблемой, но решил проблему кардинально - переустановить ОС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, WheatComp сказал:

@ECS Почему-то начала выскакивать ошибка, как только открываю порт, на который приходит сообщение по сети

Судя по ошибке, в дисководе до сих пор установлена дискета Network, которая проворачивает в фоне какую-то чёрную магию, регистрируя глобальные обработчики событий. Решение: вынуть дискету и ребутнуть ПК

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дискеты не было, как только установил, так сразу и вынул.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
20 часов назад, WheatComp сказал:

ERROR IN NET EVENTHANDLER[modem.lua]: /lib/network/modem.lua:31: attemtp to index a number value (local 'data')

Компьютер перезагружен?

Если набрать ls /lib, там будет папка network?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, ProgramCrafter сказал:

Компьютер перезагружен?

Если набрать ls /lib, там будет папка network?

Да, перезагружен. Папка network есть.

C другого компьютера, где также установлен network, каждые 3 секунды высылается сообщение. На принимающем компьютере каждые 3 секунды показывается это сообщение об ошибке. Оба компа используют стандартные команды (не из дискеты). Если закрыть порт, на который тот компьютер высылает данные, то это сообщение об ошибке перестает приходить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, WheatComp сказал:

Папка network есть.

Решение: удалить папку network, потому что в изначальной установке OpenOS её нет, и также проверить папку boot на соответствие чистой (https://github.com/MightyPirates/OpenComputers/tree/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/openos/boot), перезагрузить компьютер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, ProgramCrafter сказал:

также проверить папку boot на соответствие чистой

Да, это надо сделать в первую очередь.

У меня установщик network добавил следующие файлы:

./boot/95_hostname.lua
./boot/80_network.lua./bin/route.lua
./bin/arp.lua
./bin/ping.lua
./bin/ifconfig.lua
./lib/network/tunnel.lua
./lib/network/modem.lua
./lib/network/loopback.lua
./lib/network.lua
./usr/bin/nc.lua
./usr/man/ping
./usr/man/network
./usr/man/ifconfig

 

@WheatComp А вообще, самым простым решением является форматирование диска.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@eu_tomat Форматнул диск, вынув, щелкнув ПКМ, держа в руке, поменяв с файлового на блочный и обратно. Может, есть другие способы?

Жаль отказываться от пинга и переименовывания компьютера. Есть ли альтернативные способы все это делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, WheatComp сказал:

Жаль отказываться от пинга и переименовывания компьютера. Есть ли альтернативные способы все это делать?

Да, альтернативы имеются. Например, заняться отладкой ПО с дискеты network, найти проблему, исправить, и сделать pull request в репозиторий мода. Это идеальная альтернатива.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, eu_tomat сказал:

и сделать pull request в репозиторий мода. Это идеальная альтернатива.

Нет ли более быстрого решения? Например:

 

В 27.05.2023 в 23:31, ECS сказал:

Пишем собственные под конкретные задачи. Работа с сетью в опенкомпах довольно удобна, поэтому новый софт создаётся быстро, если, конечно, речь не идёт о шифровании или каких-то специфических форматах передачи данных с компрессией. Ну, а когда кодовая база становится довольно объёмной - оформляем её в виде библиотек и выкладываем

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
46 минут назад, WheatComp сказал:

Нет ли более быстрого решения? Например:

Можно и так. Тут каждый сам решает, что для него быстрее: написать собственное ПО или же найти ошибку в чужом. Оба подхода успешно используются на практике.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@eu_tomat Думаю, есть еще вариант воспользоваться написанными другими программами. Кто-нибудь писал подобное?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, WheatComp сказал:

@eu_tomat Думаю, есть еще вариант воспользоваться написанными другими программами. Кто-нибудь писал подобное?

Я не в курсе, и подобным ПО не интересовался.

 

Моё мнение: сам по себе пинг бесполезен, и нужен лишь для быстрого тестирования какого-либо сервиса. Но в этом случае пинг реализуется протоколом этого сервиса. А пинг ради пинга имеет смысл не столько использовать, сколько писать самостоятельно, чтобы попрактиковаться в разработке сетевых протоколов. Хорошая задачка для новичков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...