![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Здраствуйте.
Вообшем у меня проблема с использованием TClientSocked и TServerSocked. Даж незнаю с чего начать, попробую объяснить поподробней(как смогу) Проблема: Если отправлять большие куски данных(пакеты) и очень быстро то у меня происходит смешивание их и получаеться ‘Каша’ Тоесть данные приходят сразу от двоих посланий. Отследить немогу потомучто незнаю по сколько они обрываються и очень трудно проследить вообше. ![]() Как с этим бороться Это сообщение отредактировал(а) Ak47black - 25.4.2007, 21:03 |
|||
|
||||
| AugMaster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 3.8.2006 Репутация: 1 Всего: 1 |
"каша" имеется ввиду что они склеиваются ? или то что часть пакета теряется ? поподробнее плиз
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
а как у тебя получается послать второй кусок, недоконца отправив первый?
1) пример кода клиента 2) пример кода сервера, при котором наблюдается данная проблема Это сообщение отредактировал(а) MetalFan - 26.4.2007, 10:54 -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Незнаю может нето чтото, но скорей всего изза того что смешиваються, хотя незнаю может я и обсурд говорю
(весь немогу выложить слишком большой) Вообшем вот мой 'велосипедный' модуль осушествляюший пересылку
Посылаю например вот так
Принимаю
При очень быстой посылке данные очень редко но иногда неприходят корректно :( Это сообщение отредактировал(а) Ak47black - 26.4.2007, 13:00 |
||||||
|
|||||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
ну это нормально...
проверяй функцию Outpacket... в ней есть очень нехоршая ошибка... найдешь - молодец) подсказка - что обычно содержат неинициализированные локальные переменные? -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
MetalFan, я наверно нашол, хотя ммм... может и нето
Я думаю
Надо |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Там нетолко изза этого.
Вообшем если есть какинибудь мнения то пишите. |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Тут что с Сокетами.
Лан проведем эксперент, я приклепляю сам пероект эксперемента Вот кто скачает сразу увидет что тут проблема! ![]() Я скорей всего не туплю тут. Присоединённый файл ( Кол-во скачиваний: 9 )
Experement.rar 31,62 Kb |
|||
|
||||
| AugMaster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 3.8.2006 Репутация: 1 Всего: 1 |
к сожалению мало времени,не могу глянуть твой экзапмл. Проверь, чтобы Socket.SendText(Outpacked(pack))=длине этого Outpacked(pack) . Если не равно - значит часть данных не высылается из-за перегрузки буфера отправки. Тогда ждешь событие OnSend(или OnWrite, чтоб я так помнил, оно есть в компоненте в Events) и доотправляешь то, что не было отправлено из-за перегрузки.
|
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Хм.. ,шас попробую. Это сообщение отредактировал(а) Ak47black - 27.4.2007, 12:28 |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
Ну OnWrite то неработает (точнее событие происходит не после каждой посылке),но тут я тож думаю что проблема изза перегрузки.
Добавлено @ 13:03 Кто-нибудь может сказать что-нибудь по этому поводу? Если кто непонимает в чем проблемма, в крипленом исходнике всё поймете) Это сообщение отредактировал(а) Ak47black - 27.4.2007, 13:56 |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: нет Всего: 0 |
AugMaster,
Помогло. + |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |