powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / С пятницей всех.
25 сообщений из 101, страница 4 из 5
С пятницей всех.
    #40055935
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp
mayton,
- чтобы гарантировать в пределах земного шара достаточно не совпадения PK. Одно из решений GUID
- при GUID реплика не ломается

Почему?

Вопрос на второе утверждение или на первое?
Я делал реплику руками. Что там должно ломаться?
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055938
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp- чтобы гарантировать в пределах земного шара достаточно не совпадения PK. Одно из решений
GUID

Счётчики в данном случае, насколько я понял, используются совсем не для генерации ПК.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055939
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
пропущено...

Почему?

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

Ты не мог делать реплику "руками". Репликация в распределённых БД
это не одноразовое админское действие. Это вечный процесс. Однажды
начавшись для конфигурации - он никогда не заканчивается. Или закончится
с ре-конфигурацией.
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055944
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Вот нет логики в твоей фразе.
Почему я не мог делать репликацию "вечно"?
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055945
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Почему я не мог делать репликацию "вечно"?
Ну почему же не мог. Мог. Вечно. Руками
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055946
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Я тоже понял что Не для репликации. Хотел уточнений - для чего же тогда?))
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055948
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad
PetroNotC Sharp

Почему я не мог делать репликацию "вечно"?
Ну почему же не мог. Мог. Вечно. Руками
))))
В меню юзвери выбирали - синхронизировать с головным
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055949
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, ништяк. Буду к тебе обращаться за консультациями.
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055950
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
Руками программисты (настоящие) называют написание кода без использования либ чужого.
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055951
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
В меню юзвери выбирали - синхронизировать с головным
Вот это идея! Все, что у меня на шедулер повешено, юзерам передам - пусть дергают по расписанию.
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055952
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
AmKad,
Руками программисты (настоящие) называют написание кода без использования либ чужого.
А я наоборот, как правило, код пишу, чтобы руками что-то не делать. Видимо, потому что я не настоящий.
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055953
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad
PetroNotC Sharp
В меню юзвери выбирали - синхронизировать с головным
Вот это идея! Все, что у меня на шедулер повешено, юзерам передам - пусть дергают по расписанию.
только в том случае, если ты кроме штатной репликации из коробки не умеешь писать код руками.
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055956
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
Наверно не настоящий прогер. В оракле не на всех версиях есть штатная.
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055960
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Самописная репликация, процессы которой инициируются без участия бизнес-пользователя - недостижимый идеал?
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055975
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
Можно и так. Это ты просто прицепился к слову "руками".
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055986
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Можно и так. Это ты просто прицепился к слову "руками".
Не обижайтесь на меня. Я любитель потроллить, но я не со зла. А зацепился я не просто за "руками", а за пару "руками" + "вечно".
...
Рейтинг: 0 / 0
С пятницей всех.
    #40055998
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpХотел уточнений - для чего же тогда?))

Внезапно, счётчики способны использоваться в качестве счётчиков. В данном случае - пакетов
DHT. В этом случае с их репликацией нет проблем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
С пятницей всех.
    #40056007
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
)
Вы правы. Слово вечно тоже было. Оно было от ТС и такое вкусное что я тоже не мог пройти мимо)
...
Рейтинг: 0 / 0
С пятницей всех.
    #40056009
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
PetroNotC SharpХотел уточнений - для чего же тогда?))

Внезапно, счётчики способны использоваться в качестве счётчиков. В данном случае - пакетов
DHT. В этом случае с их репликацией нет проблем.ну вот эта связь как раз от меня ускользает.
Это же транспортный уровень? Пакеты считать?
...
Рейтинг: 0 / 0
С пятницей всех.
    #40056019
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpЭто же транспортный уровень? Пакеты считать?

Это прикладная задача.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
С пятницей всех.
    #40056022
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Я поднял руки к верху.
Не понял моделирования и модели данных для прикладной.
Удачи!
...
Рейтинг: 0 / 0
С пятницей всех.
    #40056043
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте в тему сетевых пакетов. Вот это "ухо" я написал для экспериментов.



Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
# 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.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
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
...
Рейтинг: 0 / 0
С пятницей всех.
    #40056057
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

А почему используется UDP, а не TCP ?
...
Рейтинг: 0 / 0
С пятницей всех.
    #40056059
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не моё решение. Так было задумано. Это-ж типа протокол discovery. Поиска узлов. Как dns. И данных.
А их тыщи. И к каждому из них сокет создавать - накладно. А тут как dns. Пинганул. Че-то спросил и
никаких больше обязательств.

Там постоянное нужно только на последней фазе. Когда уже есть peer и он владеет каким-то файлом который надо качать.
Вот там уже лучше идёт tcp.
...
Рейтинг: 0 / 0
С пятницей всех.
    #40056061
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

UDP_IP = "0.0.0.0"
UDP_PORT = 51413

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

Код: plaintext
1.
2.
3.
4.
5.
6.
        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.
...
Рейтинг: 0 / 0
25 сообщений из 101, страница 4 из 5
Форумы / C++ [игнор отключен] [закрыт для гостей] / С пятницей всех.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]