Информация об изменениях

Сообщение Быстрый ID для объектов сетевого протокола от 20.04.2018 15:53

Изменено 20.04.2018 15:55 Barbar1an

Быстрый ID для объектов сетевого протокола
например есть у нас протокол команда это [ObjectcId].Property = Value

мне интересно как можно организовать самый быстрый переход от объекта к его указателю, и на сервере и на клиенте

1. генерировать один GUID, но тогда придется искать каждый айди в таблице

2. тупо обменяться адресами в памяти — сервису сказать где объект лежит на клиенте, и наоборот, тогда можно просто привести айди к указателю что супербыстро, но тут нужен запрос-ответ
глобальная уникальность будет обеспечиваться уникальностью пары айди процесса(или айпи, или сессии) и адреса в памяти

3. выделять доступный один айди как HANDLE в винде, тут доступ быстрый — просто по индексу в массиве, но если объект создается клиентом то нада както обеспечить синхрронизацию с серверйно таблицей


мож чтото лучше есть, мне лично нравится идея адреса, тогда не нада на каждую команду лукап делать
Быстрый ID для объектов сетевого протокола
например есть у нас протокол где команда это [ObjectcId].Property = Value

мне интересно как можно организовать самый быстрый переход от объекта к его указателю, и на сервере и на клиенте

1. генерировать один GUID, но тогда придется искать каждый айди в таблице на каждую команду

2. тупо обменяться адресами в памяти — сервису сказать где объект лежит на клиенте, и наоборот, тогда можно просто привести айди к указателю что супербыстро, но тут нужен запрос-ответ, а это тормоза
глобальная уникальность будет обеспечиваться уникальностью пары айди процесса(или айпи, или сессии) и адреса в памяти

3. выделять доступный один айди как HANDLE в винде, тут доступ быстрый — просто по индексу в массиве, но если объект создается клиентом то нада както обеспечить синхрронизацию с серверйно таблицей, либо опять ждать овтета


мож чтото лучше есть, мне лично нравится идея адреса, тогда не нада на каждую команду лукап делать