Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364

Соединение данных при отправке через сокет

26.01.2012, 19:08. Показов 2300. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Сейчас возникла непредвиденная проблема, сокет начал отправлять сообщения сгрупированно, то есть
C++
1
2
3
Socket->SendText("hello");
.....
Socket->SendText("word");
он отправит как helloword, требуется как:
hello
word
Как исправить это?

Добавлено через 1 час 41 минуту
Мистика - сейчас заработало.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.01.2012, 19:08
Ответы с готовыми решениями:

UnsupportedOperationException при отправке данных в сокет
При отправке Socket'а выбрасывает UnsupportedOperationException. Код активити: package bestprojects.com.chat; import...

Необработанное исключение при отправке ответа через сокет
Доброго времени суток. Есть слот, связанный с сигналом: connect(clientSocket, SIGNAL(readyRead()), this, SLOT(slotReadClient()));...

Могут ли данные перемешаться при отправке через сокет? + Сериализация Protobuf
Хай. Я ж пишу онлаен игру, и у меня такое бурное пребурное общение клиента с сервером еще на этапе выбора персонажа для входа в игру. Когда...

5
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
27.01.2012, 10:15
знающие люди если что меня поправят, но вы не можете предсказать как именно расчленит сокет ваши данные. если размер данных которые вы пробуете переслать превышает принятый в настоящий момент размер пакета - сокет разделит ваше сообщение на куски с размером не больше размера пакета и передаст его по частям. со слиянием я точно не уверен, но возможна аналогичная ситуация - две посылки следующие друг за другом с очень малым интервалом времени по факту система если у нее есть такая возможность здесь и сейчас пересылает одним пакетом. на принимающей стороне вы должны сами выполнять сборку поступающих данных и по принятому у вас критерию делить его на отдельные сообщения. например считать сообщением все что заканчивается переводом строки.
0
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
28.01.2012, 19:15  [ТС]
Да по всей видимости это так, с внедрением (прослушивающих ShowMessage) система работает исправно, но стоит только их от туда убрать сразу идет слипание данных

Добавлено через 42 минуты
Поправил ситуацию функцией Sleep установив значение 2 секунды
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
28.01.2012, 19:47
Gus, можно собирать и разбирать пакеты.
Передача TList по сокету
0
 Аватар для Gus
26 / 37 / 10
Регистрация: 17.02.2009
Сообщений: 364
28.01.2012, 20:37  [ТС]
Мудно, особенно если у тебя стоит обработчик сообщений на SocketRead
Суть у мну такая, сервер передает данные connect#true
где, # знак, что перед ним была команда, дальше аргумент)
есть еще , msg#sender,from:MsgText
где msg команда того что энто сообщение, sender - идентификатор пользователя пославшего текст, from кому послали текст, MsgText сообщение.
0
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
29.01.2012, 12:08
склеивать все равно придется. не хотите склеивать - дробите сами на куски меньше размера пакета системы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2012, 12:08
Помогаю со студенческими работами здесь

Проверить закрыто ли соединение через сокет
Есть клиент-сервер на основе сокетов, сервер когда конектиться новый клиент получает от него одно сообщение и дальше принимает решение...

Соединение через сокет и синхронность работы клиента и сервера
Доброго времени суток! Попытаюсь изложить свою проблему вкратце: Необходимо реализовать одновременный клик левой кнопкой мыши на 2-ух...

Какой тип данных в форме при отправке через PHPMailer
При настройке PHPMailer'а, в файле с настройкой подключения есть строки в которых переменным присваиваются значения из полей input(3шт) и...

Закрывается база данных при отправке почты через outlook
Всем доброе утро! Прошу помощи в решении такой проблемы. Есть разделенная, многопользовательская БД построена в 2010 офисе. ...

Структура данных через STDIN при отправке параметров методом POST
Любопытна структура данных при отправке веб-сервером CGI-приложению параметров методом POST через STDIN. Как там кодируется поток...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru