Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ServerSocket и ClientSocket обмен данными 
V
    Опции темы
WapCel
  Дата 5.10.2012, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



Подскажите как обмен данными идет через SendText и ReceiveText в данных компонентах (ServerSocket и ClientSocket). А то посылаю с клиента на сервер массив строковый, построчно посылаю....
А ощущение, что приходит несколько строк, потом целый комок со строчками, подряд склеенными, потом опять по одной, в общем безобразие получается  smile 


Код

//SEND from SERVER
SendText("arg1");
SendText("arg2");
SendText("arg3");

//-----------------------------------------------------------

//RECEIVE from CLIENT
int i=0;
ClientSocket1Read(TObject *Sender, TCustomWinSocket *Socket)
{
i++;
String mReceiveText = Socket->ReceiveText();
}


// i = 1; // but not 3 !(3 send = 3 recv)!
// mReceiveText = "arg1arg2arg3";

Это сообщение отредактировал(а) WapCel - 5.10.2012, 15:36
PM MAIL WWW ICQ   Вверх
WapCel
Дата 5.10.2012, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



Please help me..
PM MAIL WWW ICQ   Вверх
artsb
Дата 5.10.2012, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(WapCel @  5.10.2012,  15:34 Найти цитируемый пост)
А ощущение, что приходит несколько строк, потом целый комок со строчками, подряд склеенными, потом опять по одной, в общем безобразие получается

Используйте свой формат для отправки/получения строк.
Отправляйте сначала длину строки в байтах, а потом саму строку. Читайте сначала длину строки, а потом саму строку. Проблем быть не должно. Отправляйте/получайте с помощью SendBuf/ReceiveBuf. Для размера строки выделите строго несколько байт, в зависимости от того, какая максимальная длина строки у вас будет. Например, если длина строки не будет превышать 255 символов, то вам хватит одного байта.

Это сообщение отредактировал(а) artsb - 5.10.2012, 20:35


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
WapCel
Дата 5.10.2012, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



Цитата(artsb @ 5.10.2012,  20:33)
Цитата(WapCel @  5.10.2012,  15:34 Найти цитируемый пост)
А ощущение, что приходит несколько строк, потом целый комок со строчками, подряд склеенными, потом опять по одной, в общем безобразие получается

Используйте свой формат для отправки/получения строк.
Отправляйте сначала длину строки в байтах, а потом саму строку. Читайте сначала длину строки, а потом саму строку. Проблем быть не должно. Отправляйте/получайте с помощью SendBuf/ReceiveBuf. Для размера строки выделите строго несколько байт, в зависимости от того, какая максимальная длина строки у вас будет. Например, если длина строки не будет превышать 255 символов, то вам хватит одного байта.

хорошая идея. спасибо.
p.s. я думал и с sendbuf также будет)
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0617 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.