myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Пишу свой клиент

Теги
Нет тегов для показа
Charlz_Klug
сообщение 16.6.2012, 19:35
Сообщение #1


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 12.6.2012
Пользователь №: 10 638
Спасибо сказали: 0 раз




Пытаюсь написать свой клиент. Затык происходит в следующем:
Код
CL-USER> (run-alien-dc)
Connected to server 188.134.15.173:411 via local connection at 10.1.17.28:53491!
$Lock EXTENDEDPROTOCOL_verlihub Pk=version1.0.0|<Terminator> Operation timeout: Key|End of file detected.
T
CL-USER>
Строка "$Lock EXTENDEDPROTOCOL_verlihub Pk=version1.0.0" обозначает что не требуется вычисление ключа?
Go to the top of the page
+Quote Post
Alexey
сообщение 16.6.2012, 23:02
Сообщение #2


7 квадратиков
*******

Группа: Модераторы
Сообщений: 791
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 287 раз




http://wiki.mydc.ru/$Lock
Go to the top of the page
+Quote Post
Charlz_Klug
сообщение 17.6.2012, 15:36
Сообщение #3


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 12.6.2012
Пользователь №: 10 638
Спасибо сказали: 0 раз




Цитата(Alexey @ 17.6.2012, 0:02) *

Спасибо, понял.
Go to the top of the page
+Quote Post
Charlz_Klug
сообщение 15.9.2012, 13:08
Сообщение #4


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 12.6.2012
Пользователь №: 10 638
Спасибо сказали: 0 раз




Как DC++ клиенты определяют в каком режиме (пассивном или активном) они находятся?
Go to the top of the page
+Quote Post
mariner
сообщение 15.9.2012, 17:40
Сообщение #5


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 219 раз




По тегу
Go to the top of the page
+Quote Post
Charlz_Klug
сообщение 15.9.2012, 19:26
Сообщение #6


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 12.6.2012
Пользователь №: 10 638
Спасибо сказали: 0 раз




Цитата(mariner @ 15.9.2012, 18:40) *
По тегу

Возможно, вы меня не так поняли. Я интересуюсь следующим вопросом: Например, я запустил microdc2 на своём компьютере, он (microdc2) каким-то образом определяет режим с помощью которого он подключён к хабу и уже тогда отправляет $MyINFO на хаб. А остальные клиенты из данных в $MyINFO получают режим подключения конкретного пользователя, то есть меня. Интересует способ определения режима подключения. В коде microdc2 src/hub.c есть следующий текст:
Код
    res = hub_putf("$MyINFO $ALL %s %s<%s,M:%c,H:1/0/0,S:%d>$ $%s%c$%s$%" PRIu64 "$|", /* " */
      conv_nick,
      conv_desc,
      my_tag, is_active ? 'A':'P', my_ul_slots,
      my_speed,
      1, /* level, '1' means normal, see DCTC Documentation/Documentation/VAR */
      conv_email,
      my_share_size);
Очевидно, что режим подключения определяется с помощью функции или переменной is_active, но непонятно где назначается это значение is_active. В src/main.c есть такой код:
Код
bool
set_active(bool newactive, uint16_t port)
{
    if (newactive) {
        disable_active();
        if (!enable_active(port))
            return false;
    } else {
        disable_active();
        listen_port = port;
    }
    /* Start of disable_search. */
    if (search_socket >= 0) {
        if (close(search_socket) < 0)
            warn(_("Cannot close socket - %s\n"), errstr);
        search_socket = -1;
    }
    /* End of disable_search. */
    enable_search();
    is_active = newactive;
    return true;
}
И тут я не могу разобраться где назначается значение для newactive.
Go to the top of the page
+Quote Post
mariner
сообщение 15.9.2012, 23:25
Сообщение #7


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 219 раз




Это назначается командой
Код
set active 1
которая вводится в конфиге или в консоли. Собственно newactive - это 1 или 0.

Может наконец прочитаешь хотя бы help по microdc?
Go to the top of the page
+Quote Post
Charlz_Klug
сообщение 16.9.2012, 7:55
Сообщение #8


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 12.6.2012
Пользователь №: 10 638
Спасибо сказали: 0 раз




Цитата(mariner @ 16.9.2012, 0:25) *
Это назначается командой
Код
set active 1
которая вводится в конфиге или в консоли. Собственно newactive - это 1 или 0.

Спасибо, теперь ясно.
Цитата(mariner @ 16.9.2012, 0:25) *
Может наконец прочитаешь хотя бы help по microdc?

Извините, да, сам оплошал. Не догадался мануал покурить.
Go to the top of the page
+Quote Post
Charlz_Klug
сообщение 28.9.2012, 8:38
Сообщение #9


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 12.6.2012
Пользователь №: 10 638
Спасибо сказали: 0 раз




Следующий вопрос про команду "$Hello". Когда приходит команда "$Hello <мой_ник>|" тогда я отправляю "$MyINFO...", а что делать когда приходит команда "$Hello <чужой_ник>|"?
Go to the top of the page
+Quote Post
Setuper
сообщение 28.9.2012, 9:16
Сообщение #10


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1696 раз




Не отправлять $MyINFO, пока не придёт твой ник.
Go to the top of the page
+Quote Post
Charlz_Klug
сообщение 28.9.2012, 14:51
Сообщение #11


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 12.6.2012
Пользователь №: 10 638
Спасибо сказали: 0 раз




Цитата(Setuper @ 28.9.2012, 10:16) *
Не отправлять $MyINFO, пока не придёт твой ник.

А когда придёт "$Hello" с чужим ником - тупо игнорировать?
Go to the top of the page
+Quote Post
Setuper
сообщение 28.9.2012, 17:51
Сообщение #12


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1696 раз




На стадии входа - да
Go to the top of the page
+Quote Post
Charlz_Klug
сообщение 29.9.2012, 18:55
Сообщение #13


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 12.6.2012
Пользователь №: 10 638
Спасибо сказали: 0 раз




Цитата(Setuper @ 28.9.2012, 18:51) *
На стадии входа - да

А далее, в процессе штатной работы?
Go to the top of the page
+Quote Post
Saymon21
сообщение 30.9.2012, 10:14
Сообщение #14


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 478 раз




А если логикой подумать? ;)
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsЧат клиент для DC++ (только чат)
5 мамин_парень 395 15.10.2017, 15:22 Посл. сообщение: =Alexandr=
No new Topic has attachmentsDDD++ – лёгкий и быстрый DC++ клиент
Преднастроенный клиент с готовыми списками хабов
114 Damaks 52 896 19.5.2016, 10:06 Посл. сообщение: dimetro
No New Posts DC-клиент с картинкой вместо фона
2 Анима 1 545 29.3.2015, 20:54 Посл. сообщение: MIKHAIL
No New Posts Клиент для Mydc
Android
5 Артём 2 437 8.3.2015, 12:24 Посл. сообщение: Saymon21
No New Posts Проблемы с общением хаб--клиент
6 keyviewer 3 495 23.9.2014, 21:30 Посл. сообщение: Saymon21
No new Topic has attachmentsКлиент: LiveDC
Наверное, самый молодой из клиентов
29 Erty Hackward 10 819 4.4.2014, 14:20 Посл. сообщение: Angel_D
No new votes Опрос: Topic has attachmentsМобильный Dc Клиент
JAVA
26 Wariner 15 523 23.11.2013, 16:00 Посл. сообщение: Артём
No New Posts DC-Клиент для iPhone
Существует ли он?
2 X-Sky 3 258 13.10.2013, 17:54 Посл. сообщение: X-Sky
No New Posts От: Клиент: LiveDC
От темы с ID: 5484
0 Артём 1 423 10.9.2013, 10:03 Посл. сообщение: Артём
No New Posts ВАЖНО: Topic has attachmentsКлиент: Apexdc++
8 Setuper 10 341 13.11.2012, 0:54 Посл. сообщение: Alexey
Closed Объединю свой хаб с другими
11 Ameet 4 716 17.5.2012, 9:08 Посл. сообщение: Setuper
No new Topic has attachmentsSmall DC HubList (Хаблист) Создай свой хаблист.
CMS для создания хаблиста.
62 Stribog 33 226 14.10.2011, 17:45 Посл. сообщение: KT315
No New Posts От: DDD++ - первый мультипиринговый dc-клиент
От темы с ID: 4706
2 Damaks 2 702 25.6.2011, 11:53 Посл. сообщение: Damaks
No new Клиент FGlink DC++
Обновление
18 TiGRpp 15 224 30.4.2011, 9:16 Посл. сообщение: OCTAGRAM
Closed Как сделать свой DC++?
22 GaZz-BenziNa 10 487 30.10.2010, 14:23 Посл. сообщение: Saymon21

 



RSS Сейчас: 15.12.2017, 7:36