Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
mayton
PetroNotC Sharp
mayton,
- чтобы гарантировать в пределах земного шара достаточно не совпадения PK. Одно из решений GUID
- при GUID реплика не ломается

Почему?

Вопрос на второе утверждение или на первое?
Я делал реплику руками. Что там должно ломаться?
22 мар 21, 16:36    [22298326]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

PetroNotC Sharp
- чтобы гарантировать в пределах земного шара достаточно не совпадения PK. Одно из решений
GUID

Счётчики в данном случае, насколько я понял, используются совсем не для генерации ПК.

Posted via ActualForum NNTP Server 1.5

22 мар 21, 16:44    [22298329]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
PetroNotC Sharp
mayton
пропущено...

Почему?

Вопрос на второе утверждение или на первое?
Я делал реплику руками. Что там должно ломаться?

Ты не мог делать реплику "руками". Репликация в распределённых БД
это не одноразовое админское действие. Это вечный процесс. Однажды
начавшись для конфигурации - он никогда не заканчивается. Или закончится
с ре-конфигурацией.
22 мар 21, 16:46    [22298330]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
mayton,
Вот нет логики в твоей фразе.
Почему я не мог делать репликацию "вечно"?
22 мар 21, 16:59    [22298338]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
AmKad
Member

Откуда:
Сообщений: 5260
PetroNotC Sharp

Почему я не мог делать репликацию "вечно"?
Ну почему же не мог. Мог. Вечно. Руками
22 мар 21, 17:01    [22298339]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
Dimitry Sibiryakov,
Я тоже понял что Не для репликации. Хотел уточнений - для чего же тогда?))
22 мар 21, 17:02    [22298340]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
AmKad
PetroNotC Sharp

Почему я не мог делать репликацию "вечно"?
Ну почему же не мог. Мог. Вечно. Руками
))))
В меню юзвери выбирали - синхронизировать с головным
22 мар 21, 17:03    [22298342]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
PetroNotC Sharp, ништяк. Буду к тебе обращаться за консультациями.
22 мар 21, 17:04    [22298344]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
AmKad,
Руками программисты (настоящие) называют написание кода без использования либ чужого.
22 мар 21, 17:05    [22298346]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
AmKad
Member

Откуда:
Сообщений: 5260
PetroNotC Sharp
В меню юзвери выбирали - синхронизировать с головным
Вот это идея! Все, что у меня на шедулер повешено, юзерам передам - пусть дергают по расписанию.
22 мар 21, 17:05    [22298347]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
AmKad
Member

Откуда:
Сообщений: 5260
PetroNotC Sharp
AmKad,
Руками программисты (настоящие) называют написание кода без использования либ чужого.
А я наоборот, как правило, код пишу, чтобы руками что-то не делать. Видимо, потому что я не настоящий.
22 мар 21, 17:07    [22298349]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
AmKad
PetroNotC Sharp
В меню юзвери выбирали - синхронизировать с головным
Вот это идея! Все, что у меня на шедулер повешено, юзерам передам - пусть дергают по расписанию.
только в том случае, если ты кроме штатной репликации из коробки не умеешь писать код руками.
22 мар 21, 17:09    [22298351]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
AmKad,
Наверно не настоящий прогер. В оракле не на всех версиях есть штатная.
22 мар 21, 17:12    [22298355]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
AmKad
Member

Откуда:
Сообщений: 5260
PetroNotC Sharp,

Самописная репликация, процессы которой инициируются без участия бизнес-пользователя - недостижимый идеал?
22 мар 21, 17:24    [22298362]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
AmKad,
Можно и так. Это ты просто прицепился к слову "руками".
22 мар 21, 17:44    [22298381]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
AmKad
Member

Откуда:
Сообщений: 5260
PetroNotC Sharp
Можно и так. Это ты просто прицепился к слову "руками".
Не обижайтесь на меня. Я любитель потроллить, но я не со зла. А зацепился я не просто за "руками", а за пару "руками" + "вечно".
22 мар 21, 18:03    [22298397]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

PetroNotC Sharp
Хотел уточнений - для чего же тогда?))

Внезапно, счётчики способны использоваться в качестве счётчиков. В данном случае - пакетов
DHT. В этом случае с их репликацией нет проблем.

Posted via ActualForum NNTP Server 1.5

22 мар 21, 18:22    [22298414]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
AmKad,
)
Вы правы. Слово вечно тоже было. Оно было от ТС и такое вкусное что я тоже не мог пройти мимо)
22 мар 21, 18:41    [22298425]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
Dimitry Sibiryakov
PetroNotC Sharp
Хотел уточнений - для чего же тогда?))

Внезапно, счётчики способны использоваться в качестве счётчиков. В данном случае - пакетов
DHT. В этом случае с их репликацией нет проблем.
ну вот эта связь как раз от меня ускользает.
Это же транспортный уровень? Пакеты считать?
22 мар 21, 18:43    [22298428]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

PetroNotC Sharp
Это же транспортный уровень? Пакеты считать?

Это прикладная задача.

Posted via ActualForum NNTP Server 1.5

22 мар 21, 19:04    [22298438]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 7650
Dimitry Sibiryakov,
Я поднял руки к верху.
Не понял моделирования и модели данных для прикладной.
Удачи!
22 мар 21, 19:09    [22298441]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
Давайте в тему сетевых пакетов. Вот это "ухо" я написал для экспериментов.

+

Также отсылки были здесь
https://www.sql.ru/forum/1334409/tshark-bencode
https://www.sql.ru/forum/1226202-2/bt-novyy-open-souce-freymvork-dlya-bittorrent?hl=mayton dht


# UDP dht port snitch. 
#   2021/03/21 - mayton : In beginning

import socket
import bencodepy
import binascii

UDP_IP = "0.0.0.0"
UDP_PORT = 51413

sock = socket.socket(socket.AF_INET, # Internet
                    socket.SOCK_DGRAM) # UDP

sock.bind((UDP_IP, UDP_PORT))

print("Listening ip = ", UDP_IP, " port = ", UDP_PORT)

while True:
    data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
    try:
       print("Decoded UDP content is : " , bencodepy.decode(data))
    except bencodepy.exceptions.DecodingError as e:
       print("Exception", e.__class__, " Unable to decode UDP data : " ,  binascii.hexlify(data))


Ухо слушает входящие запросы типа ping, find_node e.t.c. и печатает на скрин.

Вот то что декодировалось успешно - содержит node_id.

Listening ip =  0.0.0.0  port =  51413
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'41001b0e1af1018200000000001000007f770000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'41001b0e1b21aeb500000000001000007f770000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'41001b0e1b7d7deb00000000001000007f770000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100849c35b7c15900000000001000001b800000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100849c35ec987e00000000001000001b800000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100849c364910fd00000000001000001b800000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100daa0527fc16c0000000000100000e2450000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100daa052b23c8c0000000000100000e2450000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100daa0530e38ed0000000000100000e2450000'
Decoded UDP content is :  OrderedDict([(b'a', OrderedDict([(b'id', b'A;\x16\x81m\xbb\xce\x9a\xf4\x98)\xd7\xbay/R\x9e\x9d\xc7]'), (b'info_hash', b'A;(\xfe,3\xc0\x18+\x14\xcf\xa8k\xed8\x98\xd7]\xee\xa1')])), (b'q', b'get_peers'), (b't', b'\xd0<'), (b'v', b'LT\x01,'), (b'y', b'q')])
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100ce3487abec2400000000000000002a8a0000'
Decoded UDP content is :  OrderedDict([(b'a', OrderedDict([(b'id', b'{\xc3\xa7\xd6\xaeR\x90I\xf1\xf1\xbb\xe9\xeb\xb3\xa6\xdb<\x87\x0c\xe1'), (b'target', b'{\xc3\xa7\xd6\xaeR\x90I\xf1\xf1\xbb\xe9\xeb\xb3\xa6\xdb<\x87\x0c\xe1')])), (b'q', b'find_node'), (b't', b'\x82#\x00\x00'), (b'v', b'UT\xb3\x8e'), (b'y', b'q')])
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100d456729737850000000000100000e1790000'
Exception <class 'bencodepy.exceptions.DecodingError'>  Unable to decode UDP data :  b'4100d45672c837960000000000100000e1790000'

Обратите внимание на запросы get_peers, find_node.

Кто тут есть Питонщики. Посмотрите code-review где я чего неправильно написал.

Вот в этих декодированых сообщениях и читается модель тех данных которую я пытался впихнуть в Cassandra.
Это к вопросу о доменной области. Вот. Смотрите. Вот она. Доменная область.

И вот спека которую я начал читать http://www.bittorrent.org/beps/bep_0005.html
22 мар 21, 20:00    [22298466]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
petrav
Member

Откуда:
Сообщений: 2861
mayton,

А почему используется UDP, а не TCP ?
22 мар 21, 21:25    [22298487]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
Это не моё решение. Так было задумано. Это-ж типа протокол discovery. Поиска узлов. Как dns. И данных.
А их тыщи. И к каждому из них сокет создавать - накладно. А тут как dns. Пинганул. Че-то спросил и
никаких больше обязательств.

Там постоянное нужно только на последней фазе. Когда уже есть peer и он владеет каким-то файлом который надо качать.
Вот там уже лучше идёт tcp.
22 мар 21, 21:46    [22298493]     Ответить | Цитировать Сообщить модератору
 Re: С пятницей всех.  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
mayton

UDP_IP = "0.0.0.0"
UDP_PORT = 51413

Исходник рабочий. Но чтобы почувствовать движняк входящих запросов - надо попробовать поиграть
с разными номерами портов. Я таковых насобирал вот столько. Здесь число - это номер порта который надо
слушать.

        return new DhtListener("Vuze", 16680, "VZ1");
        return new DhtListener("Vuze", 49001, "VZ2");
        return new DhtListener("A-Mule", 4665, "AM1");
        return new DhtListener("A-Mule", 4672, "AM2");
        return new DhtListener("Transm", 51413, "TR1");
        return new DhtListener("Transm", 48529, "TR3");



И перед запуском тулы желательно запустить любой из dht-клиентов минут на 5. Он начнет пинговать соседей.
Прогреет себя. И потом уже соседи будут пинговать вас.

И не забудьте на роутере разрешить порт-маппинг даннх портов из внешнего интернета на свой текущий LAN IP.
22 мар 21, 21:50    [22298495]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5   вперед  Ctrl      все
Все форумы / C++ Ответить