Я представляю вашему вниманию airc 0.6, новую версию клиента IRC. Она представляет собой развитие программы, давно лежащей в репозитории Колибри и, похоже, давно не развиваемой. Я переписала взаимодействие с сетью, теперь программа получает IP-адрес по имени через библиотеку, считывает принятые данные большими кусками, а не с системным вызовом на каждый байт, не подвисает на время соединения, не тратит ресурсов в состоянии ожидания. Интерфейс программы теперь показывает статус соединения не в виде маловразумительного числа, а человекопонятной строкой. Кроме того, я добавила к существовавшей перекодировке в cp1251 поддержку cp866 и utf-8, причём переключаться между ними можно динамически в процессе работы.
Для работы программы нужно свежее ядро и библиотеки network и msgbox.
Скомпилированная версия и исходники прилагаются. Поскольку в репозитории программа присутствует, я обновила исходники и там.
EDIT 10/07/2013 yogev_ezra: это устаревшая программа для старой сетевой подсистемы. Новая программа здесь: viewtopic.php?f=40&t=2248
Клиент IRC
-
- Attachments
-
-
airc-bin.7z (4.56 KiB)
- Скомпилированная версия
Downloaded 470 times
-
airc-src.7z (16.54 KiB)
- Исходники
Downloaded 481 times
-
Сделаем мир лучше!
Рекомендую посмотреть макрос load_lib.mac, доступен в разделе библиотеки box_lib. При использовании макроса более информативно отображается информация, если произошел сбой при загрузки библиотеки или импорте.
Сеть в KolibriOS я тестирую в Qemu, потому что мой ADSL модем KolibriOS по понятным причинам не понимает (сетевая карта работает).
HTTP клиент работает, а вот AIRC, что старый, что новый, дальше сообщенияresolving server name... ничего не отображает. Сетью в KolibriOS я не занимался, поэтому даже не знаю, в чём может быть дело.
CleverMouse, желаю удачи в дальнейшем развитии сети в KolibriOS.
HTTP клиент работает, а вот AIRC, что старый, что новый, дальше сообщенияresolving server name... ничего не отображает. Сетью в KolibriOS я не занимался, поэтому даже не знаю, в чём может быть дело.
CleverMouse, желаю удачи в дальнейшем развитии сети в KolibriOS.
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!
Kolibri is best operation system in the world!
<Lrz>, я смотрела на этот макрос, и мне он не понравился по следующим причинам:
- он включает в программу код, который я считаю избыточным: в реальных условиях и дистрибутивах нужные библиотеки будут, так что получится, что программе придётся расплачиваться за обработку ситуаций, которые не случатся, мёртвым балластом кода
- он не вызывает функцию инициализации, с ним не будут работать библиотеки libs-dev
andrew_programmer, раз программа задумывается на этапе разрешения имени, то библиотека не получает ответа от DNS-сервера. Клиент httpc обращается к фиксированному серверу далеко в Интернете, библиотека network считывает системные настройки - провайдеры предоставляют свой сервер, и лазить в Интернет за каждым именем не нужно. Следовательно, в этих настройках DNS-сервер не указан или указан неверно. Можно, например, запустить конфигурацию сети, программу stackcfg, и установить там нужный адрес вручную. Если нет никаких идей, что ставить, можно прописать адрес, зашитый в httpc, - 194.145.128.1.
В qemu можно поднимать сеть разными способами, и задание адресов в настройках самого qemu зависит от того, какой способ используется.
- он включает в программу код, который я считаю избыточным: в реальных условиях и дистрибутивах нужные библиотеки будут, так что получится, что программе придётся расплачиваться за обработку ситуаций, которые не случатся, мёртвым балластом кода
- он не вызывает функцию инициализации, с ним не будут работать библиотеки libs-dev
andrew_programmer, раз программа задумывается на этапе разрешения имени, то библиотека не получает ответа от DNS-сервера. Клиент httpc обращается к фиксированному серверу далеко в Интернете, библиотека network считывает системные настройки - провайдеры предоставляют свой сервер, и лазить в Интернет за каждым именем не нужно. Следовательно, в этих настройках DNS-сервер не указан или указан неверно. Можно, например, запустить конфигурацию сети, программу stackcfg, и установить там нужный адрес вручную. Если нет никаких идей, что ставить, можно прописать адрес, зашитый в httpc, - 194.145.128.1.
В qemu можно поднимать сеть разными способами, и задание адресов в настройках самого qemu зависит от того, какой способ используется.
Сделаем мир лучше!
С функцией инициализации я что-нибудь придумаю. На счет избыточности кода - можно поспорить. Макрос более информативен и удобен для пользователя. Не каждый пользователь полезет смотреть на доску отладки, если что не так, если программа не запустилась. Конечному пользователю вообще без разницы, или работает или не работает. Разница даже в +1 Кб от использования макроса незначительно увеличивает объем программы.
Рекомендую использовать возможности библиотеки box_lib.obj. Желаю удачи в твоей работе!
Все выше сказанное только мое мнение.
Рекомендую использовать возможности библиотеки box_lib.obj. Желаю удачи в твоей работе!
Все выше сказанное только мое мнение.
Если, сидя на канале, сменить ник, то он действительно меняется, но новые сообщения продолжают отображаться со старым ником.
все замечательно, но можно ли добавить readme с кратким описанием, возможностями, ограничениями и нуждами/зависимостями в библиотеках, ну и конечно об авторе(можно и с фото).. ^__^
<Lrz>, не каждый пользователь самостоятельно собирает дистрибутив, а те пользователи, которые это всё же делают, сами могут позаботиться о нужных библиотеках. Загрузчик от mike.dld, который я сейчас использую, вообще не содержит избыточного кода даже для вывода на доску отладки.
s1n, это клиент IRC, описания команд IRC разной степени подробности легко найти в Интернете. Программа не использует никаких дополнительных зависимостей по сравнению с последней ночной сборкой. Автором является Ville, его фото у меня нет, если тебе интересно, можешь поискать сам.
s1n, это клиент IRC, описания команд IRC разной степени подробности легко найти в Интернете. Программа не использует никаких дополнительных зависимостей по сравнению с последней ночной сборкой. Автором является Ville, его фото у меня нет, если тебе интересно, можешь поискать сам.
Сделаем мир лучше!
CleverMouse
При всем моем уважении к мнению автора, которое имеет наивысший приоритет (и это не стеб, а правда), но заявлять о какой-либо существенной экономии от не использования макроса, когда приложение начинается с:
При всем моем уважении к мнению автора, которое имеет наивысший приоритет (и это не стеб, а правда), но заявлять о какой-либо существенной экономии от не использования макроса, когда приложение начинается с:
имхо не очень уместно.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; IRC CLIENT for KolibriOS ;;
;; ;;
;; License: GPL / See file COPYING for details ;;
;; Copyright 2004 (c) Ville Turjanmaa ;;
;; Copyright 2009 (c) CleverMouse ;;
;; ;;
;; Compile with FASM for Kolibri ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
version equ '0.6'
;__DEBUG__ equ 1
;__DEBUG_LEVEL__ equ 1
use32
org 0x0
db 'MENUET01' ; 8 byte id
dd 0x01 ; required os
dd START ; program start
dd initialized_size ; program image size
dd 0x100000 ; required amount of memory
dd 0x100000
dd 0,0
Mario, уместно, потому что ты спутал размер занимаемой памяти и размер исполнимого файла, а это не одно и то же.
Сделаем мир лучше!
CleverMouse
Впрочем не важно, дальнейшую дискуссию в этом русле продолжать не рационально. Ты автор это твое дело.
З.Ы. Да и так на всякий случай - я не путал эти значения (все-таки давно прогаю в Колибри), только провел аналогию указанную в моем тексте выше.
Я конечно могу быть не прав, но я как-то считал, что размер занимаемый программой в памяти не менее важен, чем размер занимаемый бинарником на диске и это величины приблизительно одного значения и порядка. Видимо есть другие оценочные категории, которые мне не доступны.а это не одно и то же.
Впрочем не важно, дальнейшую дискуссию в этом русле продолжать не рационально. Ты автор это твое дело.
З.Ы. Да и так на всякий случай - я не путал эти значения (все-таки давно прогаю в Колибри), только провел аналогию указанную в моем тексте выше.
Сделаем мир лучше!
Я вроде исправила отображение ников в сообщениях и в списке пользователей на канале при изменении ников. Я обновила исходники в репозитории, также я прилагаю исходники и скомпилированную версию к посту.
- Attachments
-
-
airc-bin.7z (4.76 KiB)
- Скомпилированная версия
Downloaded 480 times
-
airc-src.7z (17.06 KiB)
- Исходники
Downloaded 462 times
-
Сделаем мир лучше!
Wine-KlbrInWin-AIRC
maximYCH
А ты сам то под wine запускал KlbrInWin? И как успехи?
А ты сам то под wine запускал KlbrInWin? И как успехи?
Who is online
Users browsing this forum: No registered users and 0 guests