Доброго времени суток.
Имеется программа sechat.
Недавно консультировался по поводу "как скомпилить" теперь хочется узнать, как
заставить работать...
В чем, собственно проблема (рассказываю хронологическую последовательность действий):
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
$sechat
Чат запускается, вываливает окошко с надписью "Error of setsockopt errno=19"
и кнопкой "ОК", после нажатия на которую программа завершает работу.
$ cat README.ru |iconv -f koi8-r -t cp1251 -
Читаю и обнаруживаю такую рекомендацию (полностью содержимое README.ru привожу
в конце письма):
| нужно активировать multicasting командой "route add 224.0.0.0 netmask
| 240.0.0.0 dev eth0" или "route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0"
| в зависимости от версии "route".
Соответственно, даю команду
$ sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
224.0.0.0 * 240.0.0.0 U 0 0 0 eth0
$ sechat
Программа запускается, ошибок не выдает, однако в списке присутствующих в чате
значусь только я, хотя обычно в такое время в локалке под виндозной версией человек
30 минимум сидит (на всякий случай проверял несколько раз).
$sudo reboot
Загружаю винду и лезу в настройки чата за инфой. Обнаруживаю следующее:
IP Multicast группа: 225.0.0.1
UDP порт: 9009 TTL: 7
Что такое TTL: 7 в настройках виндошного SEChat и как это определить в Линуксе
- не знаю, посему перегружаюсь назад в Линукс и пытаюсь сотворить следующее:
$ sudo route add -net 225.0.0.1 netmask 240.0.0.0 dev eth0
route: netmask doesn't match route address
Usage: route [-nNvee] [-FC] [<AF>] List kernel routing tables
route [-v] [-FC] {add|del|flush} ... Modify routing table for AF.
route {-h|--help} [<AF>] Detailed usage syntax for specified
AF.
route {-V|--version} Display version/author and exit.
-v, --verbose be verbose
-n, --numeric don't resolve names
-e, --extend display other/more information
-F, --fib display Forwarding Information Base (default)
-C, --cache display routing cache instead of FIB
<AF>=Use '-A <af>' or '--<af>'; default: inet
List of possible address families (which support routing):
inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25)
netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP)
x25 (CCITT X.25)
$
Далее пытаюсь подобрать удобоваримое значение маски. Я не знаток TCP/IP, посему,
наверное, много глупостей сотворил, однако проходит только такое:
$ sudo route add 225.0.0.1 netmask 0.0.0.0 dev eth0
$
Либо, что равнозначный результат дает, такое:
$ sudo route add 225.0.0.1 dev eth0
$
И в том и в другом случае
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
225.0.0.1 * 255.255.255.255 UH 0 0 0 eth0
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
$
Причем не проходят команды с параметром -net:
$ sudo route add -net 225.0.0.1 netmask 0.0.0.0 dev eth0
SIOCADDRT: Invalid argument
$ sudo route add -net 225.0.0.1 dev eth0
SIOCADDRT: Invalid argument
$
После которых
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
$
В результате
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
225.0.0.1 * 255.255.255.255 UH 0 0 0 eth0
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
$sechat
Чат запускается, но по-прежнему в списке я один, других пользователей чат не
видит...
Можно ли как-нибудь это исправить?
Файл README.ru из исходников:
===============началоСпасибо за интерес к этой программе!
Эта программа-небольшой чат с графическим интерфейсом для локальной сети.
Она позволяет просто обмениваться информацией, а также посылать сообщения и
алерты как всем пользователям ,так и
конкретным пользователям.
ТРЕБОВАНИЯ:UNIX система с библиотекой QT2 ,C++ компилятор(например g++), а также
в ядре системы должна быть включена поддержка Multicast'а .Если у Вас Linux
,то
Вы должны включить опцию "IP:multicasting" при конфигурации ядра, ну и конечно
же
перекомпилировать его и инсталлировать.
Далее нужно активировать multicasting командой "route add 224.0.0.0 netmask
240.0.0.0 dev eth0" или "route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0"
в зависимости от версии "route".
УСТАНОВКА:
перейдите в каталог, куда Вы распаковали дистрибутив,
./configure
make
make install
Если при выполнении configure будут сообщения об ошибках, значит чего-то не
хватает.Установите то, что требует configure и снова запустите его.И так до
тех пор
пока configure не завершится без ошибок.По умолчанию файлы чата будут установлены
в
подкаталоги каталога /usr/local ( в /usr/local/bin, /local/doc и тд.).
Для того чтобы установить в другой каталог используйте для configure аргумент
--prefix=/нужный/каталог
Программа использует файл конфигурации ".sechatcfg" , который должен находится
в
домашнем каталоге пользователя.
В этом файле могут быть следующие конфигурационные строки:
Nick=Ваше имя (имя, под которым Вас будет видно в чате (по умолчанию "Unnamed")),
Port=9009 (указывает, какой UDP порт будет использоваться (по умолчанию 9009)),
Hello=Приветствие (Ваше приветствие при запуске чата (по умолчанию "Hello World
:)")).
При отсутствии файла ".sechatcfg" в домашнем каталоге пользователя будут
использоваться настройки по умолчанию.
Программа расчитана на использование кодировки koi8-r.Если у вас кодировка cp-1251,
то замените функцию
QCString Main::Convert(QCString s,int type)
{
....
}
на
QCString Main::Convert(QCString s,int type)
{
return s;
}
ВОЗМОЖНОСТИ:
Для вывода справки о командах введите команду /HELP или /help.
Кликнув правой кнопкой мыши когда курсор находится на списке пользователей,
появится меню с возможностями отправки приватных сообщений и алертов выделенному
пользователю и обновления списка пользователей.
ПРАВА:эта программа распространяется на условиях GPL
Дальнейшие планы:довести до возможностей Windows версии, сделать интернационализацию
используя возможности библиотеки QT2.
Авторы:Евгений Шилов - автор варианта чата для Windows
адрес: sech***@a*****.ru
Файрушин Филипп - автор варианта чата для Linux
адрес: fair***@p*****.ru
(естественно,что чаты совместимы между собой)
Всего хорошего!
============конец--
С уважением,
Rygoravich.
mailto:rygoravi***@o*****.info
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 13010; Возраст листа: 466; Участников: 1278
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/256533
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.discuss
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru?subject=comp.soft.linux.discuss
http://subscribe.ru/ http://subscribe.ru/feedback