Отправляет email-рассылки с помощью сервиса Sendsay

chat и ip multicasting

Доброго времени суток.

Имеется программа 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

Ответить   Wed, 3 Nov 2004 20:36:02 +0200 (#256533)

 

Ответы:

В сообщении от 1099506962 секунд после начала Эпохи Unix Вы написали:

Может стоит связаться с автором? Только перед этим проверьте что ядро
с поддержкой IP:multicasting и что у Вас правильный .sechatcfg .

Ответить   Konstantin Korikov Wed, 3 Nov 2004 23:30:01 +0200 (#256670)

 

Доброго времени суток.

On Wed, 3 Nov 2004 23:30:01 +0200
Konstantin Korikov <lostcl***@s*****.com> wrote:

Наверное, ничего другого не остается... Попробую.

Ответить   Fri, 5 Nov 2004 01:47:48 +0200 (#257345)

 

i386-redhat-linux-gnu)

On Wed, 3 Nov 2004 20:36:02 +0200
Rygoravich <rygoravi***@o*****.info> wrote:

а на оффтопах точно поднят данный интерфейс?
таблицу маршрутизации можно просмотреть вроде так (точно уже не помню):
$ route print

чуть-чуть теории в моей интерпретации :)
маска сети - грубо говоря КОЛИЧЕСТВО бит со значением "1", выстроенных в цепочку
и дополненных нулями до общего числа 32 (внутри нули недопустимы).
представление 255.255.0.0 дается для удобства восприятия и означает последовательность
из 16 единичек:
1111 1111 1111 1111 0000 0000 0000 0000
маска должна ПОЛНОСТЬЮ перекрывать единичные биты в адресе сети. то бишь, если
сеть у вас 225.0.0.0 (1110 0001 0000 0000 0000 0000 0000 0000), то ясно, что
полностью ее перекроет как минимум маска 255.0.0.0 .
а вот адрес 225.0.0.1 перекроет только маска 255.255.255.255, и это уже будет
не сеть (не диапазон адресов), а чиста канкретный :) адрес конкретной машины.
в сети 10.0.0.0 с маской 255.255.255.254 будут допустимы только два адреса: 10.0.0.0
и 10.0.0.1
в той же сети с маской 255.255.255.252 допустимы уже 4 адреса:
10.0.0.0 10.0.0.1 10.0.0.2 10.0.0.3
ну и так далее.
фууууух

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 13054; Возраст листа: 467; Участников: 1279
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/256955



-*Информационный канал 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

Ответить   Thu, 4 Nov 2004 13:50:21 +0200 (#256955)

 

Hello alexander,

Thursday, November 4, 2004, 2:50:21 PM, you wrote:

цепочку

если

что

10.0.0.0

http://www.google.com/search?q=network+mask&sourceid=opera&num=0&ie=utf-8&oe=utf-8
в частности забавен онлайн калькулятор
http://www.telusplanet.net/public/sparkman/netcalc.htm

Ответить   Alexander Thu, 4 Nov 2004 15:11:28 +0300 (#256969)

 

Доброго времени суток.

On Thu, 4 Nov 2004 13:50:21 +0200
alexander barakin <arizona20***@m*****.ru> wrote:

Спасибо за ликбез, я просто не понял, что это имеется в виду как бы новая сеть...
Посмотрел в windows вывод route print - там есть такое:

Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.0 255.255.0.0 192.168.2.115 192.168.2.115 20
192.168.2.115 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.2.255 255.255.255.255 192.168.2.115 192.168.2.115 20
224.0.0.0 240.0.0.0 192.168.2.115 192.168.2.115 20
255.255.255.255 255.255.255.255 192.168.2.115 192.168.2.115 1
Т.е. указанный в настройках ip 225.0.0.1 принадлежит маршруту "224.0.0.0
240.0.0.0 192.168.2.115 192.168.2.115 20"? Тогда в readme нужная
команда написана правильно... Попробую связаться с автором программы...

Ответить   Fri, 5 Nov 2004 01:47:09 +0200 (#257342)

 

Rygoravich wrote:

Почему такая странная маска подсети? Она точно правильная?

errno=19 ENODEV - нет такого устройства.
Что говорит ifconfig eth0

в Линуксе
time to live - время жизни
"route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0"
используй эту команду она очватывает весь диапозон многоадресной передачи.

Andrew Gusev

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 13079; Возраст листа: 468; Участников: 1279
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/257276



-*Информационный канал 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

Ответить   Thu, 04 Nov 2004 23:52:56 +0300 (#257276)

 

Доброго времени суток.

On Thu, 04 Nov 2004 23:52:56 +0300
Andrew Gusev <a.gusev19***@m*****.ru> wrote:

Правильная. До недавнего времени использовалось 192.168.2.0/255.255.255.0, но
теперь админы решили выдавать айпишники по районам (в данный момент используются
от 192.168.1.* до 192.168.5.*) и соответственно сменили маску.

$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 4C:00:10:A1:E2:8B
inet addr:192.168.2.115 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::4e00:10ff:fea1:e28b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:331560 errors:0 dropped:0 overruns:0 frame:0
TX packets:562327 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:22695777 (21.6 Mb) TX bytes:811462354 (773.8 Mb)
Interrupt:10 Base address:0x3f00

$

А как это понимать, нуждается ли оно в настройке (и если да, то как настроить)
и может ли быть проблема связана с ним?

Ясно... Наверное, проблема все-таки в самой программе... Я написал автору - может
ответит...

Ответить   Fri, 5 Nov 2004 05:07:09 +0200 (#257360)

 

i386-redhat-linux-gnu)

On Thu, 04 Nov 2004 23:52:56 +0300
Andrew Gusev <a.gusev19***@m*****.ru> wrote:

225.0.0.1, упомянутый в первом топике, не войдет в эту сеть. для этого маска
должна быть 224.0.0.0

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 13132; Возраст листа: 469; Участников: 1283
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/258025



-*Информационный канал 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

Ответить   Fri, 5 Nov 2004 12:13:15 +0200 (#258025)

 

alexander barakin wrote:

Да, верно я ошибся, 225 = 11100001, 240= 11110000, действительно маска
должна быть 224.0.0.0 тогда в неё попадут адреса от 224.0.0.0 до
239.255.255.255 - весь диапозон многоадресной передачи.

Andrew Gusev

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 13148; Возраст листа: 469; Участников: 1284
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/258259



-*Информационный канал 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

Ответить   Sat, 06 Nov 2004 15:27:07 +0300 (#258259)

 

i386-redhat-linux-gnu)

On Sat, 06 Nov 2004 15:27:07 +0300
Andrew Gusev <a.gusev19***@m*****.ru> wrote:

да нет, это, пожалуй, я ошибся. считал спросонок.
для сети 224.0.0.0 с маской 240.0.0.0 адрес 225.0.0.1 будет вполне валидным.
и диапазон адресов таким и будет: 224.0.0.0-239.255.255.255
а вот если маска будет 224.0.0.0, диапазон расширится вверх вплоть до 255.255.255.255

с уважением, александр баракин.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 13159; Возраст листа: 469; Участников: 1284
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/258469



-*Информационный канал 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

Ответить   Sat, 6 Nov 2004 20:45:26 +0200 (#258469)

 

Доброго времени суток.

On Sat, 6 Nov 2004 20:45:26 +0200
alexander barakin <arizona20***@m*****.ru> wrote:

Спасибо всем кто ответил.

Связался я с автором программы, выяснилось, что линуксовая версия несовместима
с последниим версиями виндового SEChat...

А посему еще такой вопрос - можно ли как-нибудь разрешить программам, запускаемым
из-под winex (или wine) сетевые функции?

Ответить   Sun, 7 Nov 2004 04:25:22 +0200 (#258556)

 

Здравствуйте, Rygoravich.

Можно по-моему. Читал как-то документацию по Wine, там сказано, что
надо чего-то где-то указать и в реестре у wine (% wine regedit) что-то
прописать. Мне это тоже надо, но времени нет. Попробуйте почитать
документацию. Если найдёте на русском -- киньте ссылку. Есл инастроите
-- не сочтите за труд, опишите пожалуйста. Спасибо. Удачи.

Ответить   "Andrey I. Klaus" Mon, 8 Nov 2004 10:11:21 +0300 (#259392)