Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 14

TCP Socket: на сервер приходит строка меньшего размера чем исходная

26.08.2015, 12:53. Показов 2814. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ситуация следующая: имеется 2 приложения, соединенные тцп сокетом.
Первое на delphi(tcpblocksocket из библиотеки synapse) как клиент, отправляет данные каждые 20мс, второе на c# как сервер обрабатывает их.
проблемы следующие: при относительно большой длине пакета (строка размером ~40кб) на сервер приходит строка меньшего размера чем исходная, что то в районе 20кб, такое происходит примерно в 80% передач.
И ещё, заметил, что спустя некоторое время их работы они перестают взаимодействовать вообще, в браузере не представляется открыть ни одной страницы, "страница временно недоступна или перемещена на новый веб-адрес".
В чем может быть проблема?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2015, 12:53
Ответы с готовыми решениями:

Неблокирующий Socket (сервер, tcp)
Доброго дня. Борюсь с детектированием физического отключения сервера от ЛВС. Определение, что клиент сдох на серверной стороне...

Не приходит ответ на TCP клиент андроид с TCP сервера Qt
У меня есть TCP клиент андроид и TCP сервер Qt с клиента на сервер сообщения доходят нормально. Ну а с сервера на клиент сообщения(ответы)...

Asio deadline_timer и tcp::socket отослать асинхоронно по tcp по таймеру
Здравствуйте. Цель по tcp соединению отсылать через равные промежутки времени сообщение одно и тоже. Слушать соединение. Цель 2 (не...

24
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
27.08.2015, 16:16
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от w8ting Посмотреть сообщение
там метод типа RecvBytes
Ну принял он чего-то там в виде последовательности байт..

Дальше он что с принятым хозяйством делает ? Каковы дальнейшие его телодвижения в связи с принятыми, например, 20-ю килобайтами ?
0
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 14
27.08.2015, 16:54  [ТС]
кодирует полученные байты в строку, проверяет её валидность, парсит и выводит и закрывает соединение.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
27.08.2015, 17:06
Лучший ответ Сообщение было отмечено w8ting как решение

Решение

Цитата Сообщение от w8ting Посмотреть сообщение
кодирует полученные байты в строку, проверяет её валидность
Чудесно.
Проверка на валидность только что принятых 20кб не прошла - нет среди них терминатора, поскольку он будет в следующих 20кб, а именно его наличие, с твоих слов, подтверждает успешный прием всех ожидаемых данных, отправленных клиентом

Парсить пока еще нечего .. Что в этой ситуации у тебя делает сервер ?
1
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 14
27.08.2015, 19:27  [ТС]
намек понял, чуть позже проверю.

Добавлено через 1 час 34 минуты
действительно, это работает!
всё из за того, что я почему я был уверен, что метод сервера recieve забирает всё, что можно забрать.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
27.08.2015, 19:37
Цитата Сообщение от w8ting Посмотреть сообщение
я был уверен, что метод сервера recieve забирает всё, что можно забрать
Он и забирает все что можно забрать. А чего нельзя забрать он при всем желании не заберет, хоть и из штанов выпрыгнет)
А нельзя забрать то чего нет - те самые вторые 20кб, которые еще где-то в пути и поступят чуть позже
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.08.2015, 19:37
Помогаю со студенческими работами здесь

Socket не могу понять в чем дело, не закрывается клиент или сервер
Где то в просторах инета (возможно даже на этом форуме) нашел пример по клиент серверу на цокетах, смастерил клиент и сервер, все хорошо...

Не приходит сообщение [TCP]
Всем привет! Скажите скажите в чём я ошибся, почему у меня на Android (TCPClient) не приходят сообщения от компьютера (TCPServer)? Уже...

boost::regex_match - исходная строка
Здравствуйте, перенес проект с Builder 6 на Builder XE4 и появилась такая проблема. Unit2.cpp(186): E2285 Could not find a match...

Регулярные выражения: исходная строка не начинается на
Всем доброго времени суток. Помогите решить проблему. 1. Есть регекс /({50})/ 2. Надо сделать так чтобы он не срабатывал в случае...

Исходная строка содержит сведения, упорядочить их
Исходная строка содержит сведения о человеке: фамилию, инициалы, год рождения, рост в см. Эти сведения расположены в произвольном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
Модель здравоохранения 13. Добавление самой системы здравоохранения.
anaschu 22.05.2026
В предыдущем посте мы настроили болезни. Теперь добавим события, которые управляют здоровьем всего коллектива, а также настроим рабочий график и расчёт финансов. В Main создаём четыре события. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru