Author Topic: Протокол VKontakte  (Read 648177 times)

Boris_M and 3 Guests are viewing this topic.

Offline MisterMyth

Re: Протокол VKontakte
« Reply #210 on: 27 08 2014, 18:07:09 »
Скачивал последний выложенный тут dll для х64: могу сказать, что за два дня переписки в вк не было ни одного двойного сообщения.
Myth: Make Your Thought Heard
 

Offline watcher

Re: Протокол VKontakte
« Reply #211 on: 27 08 2014, 19:07:52 »
Патч влит, задвоения ghazan проверил, говорит что всё равно двоится.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Elzor

Re: Протокол VKontakte
« Reply #212 on: 27 08 2014, 19:28:24 »
То как он его влил, у него не просто свои сообщения двоиться должны, у него кроме них вообще ничего не должно быть.
Code: [Select]
if (!CheckMid(mid))
                        continue;
совершенно не то же самое, что
Code: [Select]
if (!CheckMid(mid))
ProtoChainRecvMsg(hContact, &recv);
скорее наоборот.
Для любого входящего сообщения дальнейшая обработка итерации цикла будет пропущена, зато задвоение как раз таки попадет в лог. 
И вообще проверку на !CheckMid(mid) я не просто так поставил как можно ближе к вставке сообщения в историю. Она должна быть как можно ближе, там счет на миллисекунды идет.
 

Offline ghazan

Re: Протокол VKontakte
« Reply #213 on: 27 08 2014, 19:40:38 »
И вообще проверку на !CheckMid(mid) я не просто так поставил как можно ближе к вставке сообщения в историю. Она должна быть как можно ближе, там счет на миллисекунды идет.
Пофиг... оно пролетает за микросекунды, особенно с новым кэшем базы, задержки на вводе-выводе, особенно на десктопных сетевухах, в десятки раз больше

Двоится на ура, в общем.
 

Offline watcher

Re: Протокол VKontakte
« Reply #214 on: 27 08 2014, 19:41:15 »
Elzor, довлили, будем смотреть как и что.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Elzor

Re: Протокол VKontakte
« Reply #215 on: 27 08 2014, 19:46:54 »
Могу только сказать за себя и всех, кому давал патченую длл на тест - за двое суток ни одного задвоеного. Но в принципе, теоретически, патч только сокращает их количество, хоть и значительно, все равно они могут быть.
Заодно вопрос такой: существует ли легальный способ изменить эвент лежащий в истории. Не удалить и записать снова, а именно изменить?
 

Offline ghazan

Re: Протокол VKontakte
« Reply #216 on: 27 08 2014, 19:57:54 »
Могу только сказать за себя и всех, кому давал патченую длл на тест - за двое суток ни одного задвоеного. Но в принципе, теоретически, патч только сокращает их количество, хоть и значительно, все равно они могут быть.
может попробовать всунуть Sleep(100) - треды там разные
Заодно вопрос такой: существует ли легальный способ изменить эвент лежащий в истории. Не удалить и записать снова, а именно изменить?
нет, это одно из самых омерзительных ограничений dbx_mmap
 

Offline Elzor

Re: Протокол VKontakte
« Reply #217 on: 27 08 2014, 20:04:42 »
Печально. А тогда создать собственный эвенттайп который не будет светиться в истории? Установка DETF_NONOTIFY проблемы не решает, такие эвенты все равно видно через HistoryPP.
Насчет sleep() надо подумать, если проблема сохранится.
« Last Edit: 27 08 2014, 20:06:17 by Elzor »
 

Offline ghazan

Re: Протокол VKontakte
« Reply #218 on: 27 08 2014, 20:20:43 »
Насчет sleep() надо подумать, если проблема сохранится.
а куда оно денется. то, с какой скоростью процесс успевает прожевывать информацию в разных потоках, зависит только от количества ядер.
больше ядер хороших и разных - сразу же грибы-отсосиновики не замедлят с появлением
 

Offline Elzor

Re: Протокол VKontakte
« Reply #219 on: 01 09 2014, 12:11:53 »
Еще один патч.
Добавлено:
Опция определяющая способ маркировки прочитанных сообщений (при ответе на сообщение или при получении сообщения мирандой, как сейчас).
Опция, которая сбрасывает признак “прочитано”  при получении входящего прочитанного сообщения.
Возможность полностью перезагрузить историю с сервера. При этом удаляется история контакта и все сообщения загружаются заново. Может занять длительное время и вызвать расход трафика.
Возможность загрузить с сервера N последних сообщений (количество настраивается в настройках).  Для корректной работы (загрузки только тех сообщений, которых нет в локальной истории) рекомендуется сначала выставить нужное количество сообщений в настройках, перезагрузить всю историю контакта с сервера, а затем уже пользоваться функцией тогда, когда надо.
Ну и sleep не забыт.
« Last Edit: 03 09 2014, 05:10:19 by Elzor »
 

Offline Rostix

  • Jr. Member
  • **
  • Posts: 67
  • Country: ru
Re: Протокол VKontakte
« Reply #220 on: 01 09 2014, 12:27:29 »
Elzor, скажите, пожалуйста, а если у меня стоит ежедневное обновление Миранды и плагинов - имеет ли смысл применять Ваш патч, или просто надо подождать очередного обновления, и в нём вконтактный плагин придёт уже пропатченный?... больно уж новые возможности заманчивы... плагин и без того был крайне неплох, а с ними просто что-то улётное получается... :)
 

Offline watcher

Re: Протокол VKontakte
« Reply #221 on: 01 09 2014, 12:32:44 »
имеет ли смысл применять Ваш патч

Возьмите пока пропатченые бинарники, которые Elzor приложил и потестируйте, чего опасаться-то.
« Last Edit: 01 09 2014, 18:25:19 by Apollo2k4 »
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline Elzor

Re: Протокол VKontakte
« Reply #222 on: 01 09 2014, 12:33:36 »
Rostix, я вне команды разработчиков и дорабатываю плагин под себя, а с результатом доработки делюсь с общественностью. Соответственно, я не знаю, когда будет принят мой патч, будет ли он вообще принят, и в какой части он будет принят. Так что смотрите сами.
 

Offline Black Sniper

Re: Протокол VKontakte
« Reply #223 on: 01 09 2014, 12:35:34 »
Rostix, ждать. Или отключать авто обновление.
Я скачал, посмотрел, буду ждать появление в основном файле.

Elzor
, раньше, ув. ghazan, говорил что никаких поддержек групп не будет. Для этого будьте любезны в браузер...
Вопрос, технически возможно хотя бы чтоб оповещения происходили о том, что "в группе ФИО написал...", или выложили видео/фото, или просто произошли изменения? на подобии того что происходит с стенами.
Пока просто спрашиваю, т.к. не уверен что это нужно:)
Бью метко, но редко...
 

Offline Rostix

  • Jr. Member
  • **
  • Posts: 67
  • Country: ru
Re: Протокол VKontakte
« Reply #224 on: 01 09 2014, 12:38:34 »
прям два противоположных мнения :) ладно, тогда я ещё подумаю :)