Форум
Написать нам
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: as-master  
Плагин CALLER
Alex3AДата: Пятница, 19 Марта 2010, 23:32 | Сообщение # 31
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Сам я предпочитаю использовать внешнее его размещение по <SrcDir> и установкой внешнего плеера, не приходится вставлять его и выкидывать из проекта, при изменении
в нем. Возможно, в пример proektN.zip и не попала самая последняя версия, по этому
еще раз все проверив, выкладываю пример со вложенным плагином, последней версии.

Добавлено (19 Март 2010, 23:32)
---------------------------------------------
Добавил фукцию gethtml0 - получение ответа(хтмл), как предусмотрено хттп протоколом,
часть ответа, после двойного перевода строки. Поставил защиту от дурака на функцию
getheader -теперь при ее выполнении без наличия ответа, просто ничего не происходит.
gethtml осталась в прежнем виде. обвязка gethtml0 такая же как и gethtml.
Что еще найдете, пишите.

Прикрепления: plugtcp.zip (24.3 Kb)
 
Alex3AДата: Воскресенье, 21 Марта 2010, 17:57 | Сообщение # 32
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Добавил, по желанию трудящихся, функцию strip, для уборки мусора в хтмл.
Code
file$='<SrcDir>parsing[1].txt'
shablon$=CHR(9)+CHR(9)
oldStr$=StrFromFile(file$,1,-1)
PluginSet("PlugIn","shablon$")
PluginSet("PlugIn","oldStr$Str$")
PluginRun ("PlugIn","strip")
PluginGet("PlugIn","retStr$")
Message("","retStr$")
shablon$=CHR(9) уберет все табы
shablon$=CHR(9)+CHR(9) если табов нечетное количество один оставит.
аналогично с переводами строк shablon$=CHR(13)+CHR(10) выстроит весь хтмл в одну строку
shablon$=CHR(13)+CHR(10) +CHR(13)+CHR(10) уберет только двойные переводы строк, единичные останутся.
Прикрепления: tcpnew1.rar (20.7 Kb)
 
Alex3AДата: Вторник, 23 Марта 2010, 20:29 | Сообщение # 33
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
попробуй, немного изменил.
Прикрепления: tcp8.rar (20.4 Kb)
 
YURIYДата: Среда, 24 Марта 2010, 01:23 | Сообщение # 34
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Alex3A)
попробуй

Это обращение к кому? :)



Вечная память Андрею Сергееву!
 
Alex3AДата: Среда, 24 Марта 2010, 10:26 | Сообщение # 35
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
 
Alex3AДата: Пятница, 26 Марта 2010, 13:27 | Сообщение # 36
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Решение метода передачи "Transfer-Encoding: chunked"
savebinall сохраняет в указанный файл заголовок с ответом,
как бинарный код, в том виде как был получен.
Если передавалась строка, то строка и будет в файле,
если файл то после заголовка будут бинарные данные
файла. Если посылка фрагментирована, то маркеры фрагментов
то же будут в файле.
Code
failbin$='<SrcDir>textBIN.html'
PluginSet("PlugIn","failbin$")
PluginRun("PlugIn","savebinall")

makechunkeds обрабатывает и возвращает как строку данные фрагментированного
ответа сервера, результат обработки, так же, остается в плагине,
до нового запроса, и используется функцией parserez и иными функциями,
выполняется один раз для каждого ответа, если в этом есть нужда.
Code
PluginRun("PlugIn","makechunkeds")
Эта команда выполняется если вам вдруг надо поиметь содержимое,  
без дальнейшей обработки.
PluginGet("PlugIn","srez$")

parserez работает аналогично parseotvet, но для внутренней строки полученной
ранее с пом. функции makechunkeds, область заголовков не обрабатывается.

getheadername возврашает запрашиваемый заголовок, при выполнении функции
makechunkeds, заголовок ответа помещается в список, из которого данная
функция выводит строки заголовков, которые начинаются с указанного
шаблона: "Transfer-Encoding:" вернет Transfer-Encoding: chunked,
аналогично "T" вернет Transfer-Encoding: chunked, а так же все
имеющиеся заголовки на чинающиеся на "T".
Кукиши находятся в заголовке Set-Cookie:.(для любителей региться)

Code
header$='Expires:'
PluginSet("PlugIn","header$")
PluginRun("PlugIn","getheadername")
PluginGet("PlugIn","head$")
Message("Ваш заголовок","head$")
Не все так сложно как кажется, смотрим пример!
Прикрепления: primer.rar (50.5 Kb)
 
SergДата: Пятница, 26 Марта 2010, 14:03 | Сообщение # 37
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Quote
Это обращение к кому?

Эт ко мне, я тут всё Алекса мучаю redface

Спасибо большое thumbs_up thumbs_up thumbs_up

Добавлено (26 Март 2010, 14:03)
---------------------------------------------



 
Alex3AДата: Суббота, 27 Марта 2010, 20:47 | Сообщение # 38
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Serg, Добавил функцию savebin для скачивания файлов, протестируй, я с форматом еще не разобрался, может файл быть на несколько байт больше, из за конечных
маркеров, проконтролируй и сообщи. Когда все отработало, сохраняем файл.

Добавлено (27 Март 2010, 20:47)
---------------------------------------------
Да там по идее должно быть и имя получаемого файла, бальшой документ RFS 2068,
я пока его не прочитал, так что пока думаю не все как нада.

Прикрепления: primer2.rar (25.0 Kb)
 
SergДата: Суббота, 27 Марта 2010, 21:04 | Сообщение # 39
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Скачал, переименовал-Просмотр недоступен (хотел сравнить с текстом скачиваемого рисунка-передумал :D )

 
Alex3AДата: Воскресенье, 28 Марта 2010, 03:48 | Сообщение # 40
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Так если картинка то тупо идут данные после заголовка, имя файла то и знать не надо,
ты же его сам запрашиваеш, наверное и другие файлы аналогично.
Соответственно поправил плагин, он не додавал 4 байта .
Прикрепления: bintcp.rar (22.5 Kb)
 
Alex3AДата: Воскресенье, 28 Марта 2010, 19:21 | Сообщение # 41
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Serg, можеш переименовать дллку, что бы не путать со старой.
Да и пути там свои поставь.
Прикрепления: 4857749.rar (24.3 Kb)
 
SergДата: Воскресенье, 28 Марта 2010, 19:21 | Сообщение # 42
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Да, всё ОК, попробовал без внедрения плагина в проект.

 
Alex3AДата: Воскресенье, 28 Марта 2010, 19:53 | Сообщение # 43
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Serg)
Да, всё ОК, попробовал без внедрения плагина в проект.

Я в основном так и делаю, ибо за час плагин может поменятся не один десяток раз,
так что эмбедить задолбешся, но иногда ембежу, что бы выложить, и такие заморочки
бывают регулярно, пока не врубишся что плаг не внешний :D

Добавлено (28 Март 2010, 19:53)
---------------------------------------------
Да как то попробуй какой нить бальшой файл, интересно как его там отдают, мож по
кускам.

 
SergДата: Воскресенье, 28 Марта 2010, 20:03 | Сообщение # 44
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Попробую, ток фигово что нет процентного соотношения скачки файла, или сколько из скольки скачалось кб

 
Alex3AДата: Воскресенье, 28 Марта 2010, 20:07 | Сообщение # 45
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
А что это так актуально? Тогда я подумаю я подумаю.
 
SergДата: Воскресенье, 28 Марта 2010, 20:30 | Сообщение # 46
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Ну да, например скачиваю файл 10 метров, как мне узнать когда он скачается

 
Alex3AДата: Воскресенье, 28 Марта 2010, 20:57 | Сообщение # 47
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Так, есть событие соответствующее началу приема первой порции ответа, в ней как правило и находится хейдер, в котором заголовок Content-Length указывает длину передаваемых данных. По этому событию можно считать это число, событие будет генерироватся при приходе каждой порции, все что пришло я заганяю в поток,
так что можно будет выводить длину данных в потоке, по этому событию.
Так как числовая переменная у нас уже занята(тип события) то под вывод можно
будет отдать строковую.
Надо только будет подумать на кого возложить труд по считыванию длины ответа и вычисление процента. На програмера или на плагин :D
 
SergДата: Воскресенье, 28 Марта 2010, 21:00 | Сообщение # 48
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
А можно узнать вес скачиваемого файла?
Потом првоерять вес этого же файла на компе и сравнивать (тока нагрузка неслабая наверно будет)


 
Alex3AДата: Воскресенье, 28 Марта 2010, 21:21 | Сообщение # 49
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Serg)
А можно узнать вес скачиваемого файла?

В заголовке ответа сервера
Content-Length: вес скачиваемого файла
Ты его уже не раз видел :D
Просто не обращал внимания :D
Тут нада будет подумать, если трансфер хороший то при закачке можно
и завесить ммв проект, не будет успевать отрисовывать закачку.
Ну посмотрим.
 
SergДата: Воскресенье, 28 Марта 2010, 21:25 | Сообщение # 50
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Точно :D

 
Alex3AДата: Воскресенье, 28 Марта 2010, 21:25 | Сообщение # 51
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Serg)
Потом првоерять вес этого же файла на компе и сравнивать (тока нагрузка неслабая наверно будет)

Да нет, никакой загрузки не будет, длина файла записывается при его записи на диск
в соответствующее поле справочника, от туда и читается, и сравнение 2х цифр то же
мнгновенно.
 
SergДата: Воскресенье, 28 Марта 2010, 21:32 | Сообщение # 52
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Но ммб будет нагружать проц сильно, если часто запрашивать.

 
Alex3AДата: Воскресенье, 28 Марта 2010, 21:35 | Сообщение # 53
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Не проблема, отработаем что бы не висло, дергать только каждый там нный раз.
 
SergДата: Воскресенье, 28 Марта 2010, 22:28 | Сообщение # 54
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Эт хорошо тогда :)

Добавлено (28 Март 2010, 22:28)
---------------------------------------------
Попробовал скачать большую картинку и мелодию- всё Ок.


 
Alex3AДата: Понедельник, 29 Марта 2010, 17:40 | Сообщение # 55
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Вывел хвункцию getotvetlen, ну так, для контроля, потом мож и спрячу :D
Получение процента загрузки происходит в скрипте плагина, в обработчике событий.
Code
If (typ=4) Then
   mes$='получен ответ'
   PluginGet("PlugIn","proc$")
   DisplayValue("procentov","proc$")
   LoadText("Text","Данные получены")
End

Просто считывается сколько процентов загружено. Число с плавающей запятой,в строковом
виде. Если нада какой полоса двигать :D , то переводим в число методами ммв.
Протести на больших файлах, не тормозит ли проект.
Прикрепления: failLen.rar (25.0 Kb)
 
SergДата: Понедельник, 29 Марта 2010, 18:22 | Сообщение # 56
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Вроде не тормозит thumbs_up

 
Alex3AДата: Суббота, 08 Мая 2010, 13:38 | Сообщение # 57
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Версия плагина icq-чат с моего сайта, последняя на данное время.
Хостинг уже доступен, но не совсем все включили.

Добавлено (08 Май 2010, 13:38)
---------------------------------------------
Описание внутри архива, все вопросы задавать в этой ветке.
Есть тоже самое но уже в ехе формате, размер 995кв.

Прикрепления: icq_sourse.rar (213.8 Kb)
 
ИгорьДата: Понедельник, 18 Июля 2011, 11:44 | Сообщение # 58
Педагог
Группа: Проверенные
Сообщений: 331
Репутация: 0
Награды: 0
Статус: Offline
Елки-палки... Я в сетях во общем то мало что понимаю, мой максимум - присвоить IP компьютеру и настроить примитивное соединение... Но вот сейчас я работаю в филиале универа, и есть ряд задумок, качающихся дистанционного образования. Один из вариантов - прямая связь с преподавателем и студентом, когда студент изучает материал из электронного пособия (это наподобие как я тут делал - http://pedsovet.su/load/9-1-0-10398-0-0-0-1308215850 ) и сразу может соединиться с преподавателем, в той же программе. Или что-то врод собственной "аськи" сделать ,но сервер у нас, клиенты тоже с нашими логотипами и дизайном... Но блин, как во всем этом разобраться...

Шум ничего не доказывает. Курица, снесши яйцо, часто клохчет так, словно снесла небольшую планету...
Марк Твен
 
Alex3AДата: Суббота, 01 Октября 2011, 13:27 | Сообщение # 59
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Игорь, как то пропустил твой пост, все вполне раелизуемо, так что если захочеш обращайся помогу, можно сделать или по тсп или по пайпу.
Для пайпа должна быть локалка, а для тсп любое открытое соединение, хоть через инет.
 
Alex3AДата: Четверг, 19 Января 2012, 02:38 | Сообщение # 60
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Serg, используй прежнюю функцию, она более корректна для твоих целей, твоя страница была без кусков, я поправил.
Прикрепления: tcp.rar (23.9 Kb)
 
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: